RestSQL 1.0.6
See the version list below for details.
dotnet add package RestSQL --version 1.0.6
NuGet\Install-Package RestSQL -Version 1.0.6
<PackageReference Include="RestSQL" Version="1.0.6" />
paket add RestSQL --version 1.0.6
#r "nuget: RestSQL, 1.0.6"
// Install RestSQL as a Cake Addin
#addin nuget:?package=RestSQL&version=1.0.6
// Install RestSQL as a Cake Tool
#tool nuget:?package=RestSQL&version=1.0.6
RestSQL
Port of: https://github.com/mmrath/rsql-parser
C# Sql Where Clause Parser to be used as Rest Parameters to filter data
This parser is strong using Visitor Pattern: The IExpressionBuilder<T> should be implemented and then call to build:
RestSQL<T>.Parse(query, this);
You can base on our test to implement your own strategy:
var testExpressionBuilder = new TestExpressionBuilder();
testExpressionBuilder.Build("ab > 'DE' and (c = d or d > 4.3) and e>4 or rere in (20,30,40,50) and defer between 2 and 3 or rerer not in ('432','234324')");
Nuget Package: https://www.nuget.org/packages/RestSQL/
Implemented strategies:
- SqlKata.QueryBuilder
https://www.nuget.org/packages/RestSQL.SqlKata/
var t = new Query().From("tblLalala").Where("Name", "Igor").Where(c=>c.Where("status","1").OrWhere("status","2"));
var compiler = new Oracle11gCompiler();
var testExpressionBuilder = new SqlKataBuilder();
var q = testExpressionBuilder.Build("ab > 'DE' and (c = d or d > 4.3) and e>4 or rere in (20,30,40,50) and defer between 2 and 3 or rerer not in ('432','234324')");
var qb = testExpressionBuilder.BuildFrom("ab > 'DE' and (c = d or d > 4.3) and e>4 or rere in (20,30,40,50) and defer between 2 and 3 or rerer not in ('432','234324')", t);
var sql = compiler.Compile(q.From("MyTable"));
var sqlb = compiler.Compile(qb);
- NPoco
https://www.nuget.org/packages/RestSQL.NPoco/
var s = new SqlBuilder();
s.Where("ab > 'DE' and (c = d or d > 4.3) and e>4 or rere in (20,30,40,50) and defer between 2 and 3 or rerer not in ('432','234324')");
var db = new Database("conn");
db.Fetch<User>(template);
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.1 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETStandard 2.1
- Antlr4.Runtime (>= 4.6.6)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on RestSQL:
Package | Downloads |
---|---|
RestSQL.SqlKata
SqlKata QueryBuilder implementation for RestSQL |
|
RestSQL.NPoco
NPoco QueryBuilder implementation for RestSQL |
GitHub repositories
This package is not used by any popular GitHub repositories.