RestSQL.NPoco 1.0.0

NPoco QueryBuilder implementation for RestSQL

Install-Package RestSQL.NPoco -Version 1.0.0
dotnet add package RestSQL.NPoco --version 1.0.0
<PackageReference Include="RestSQL.NPoco" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add RestSQL.NPoco --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

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);

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);

Version History

Version Downloads Last updated
1.0.0 71 1/30/2019