Skip to content
This repository was archived by the owner on May 1, 2020. It is now read-only.

Repository files navigation

Build statusNuGet ReleaseNuGet DownloadsLicense

Dynamic Query

This library is for generating Sql Server or Oracle queries using Expressions in strong named format. For creating Sql server or Oracle queries you do not need to change any of your expressions but only QueryEvaluator type.

Installation:

Install the nuget package

NuGet Release

NuGet Release

Simpe Select:

 var builder = SelectQueryBuilder
.Initialize()
.From<TestEntity>();
var SqlSimpleSelect = new SqlServerSelectQueryEvaluator(builder.Query);
var SqlSimpleSelectQuery = SqlSimpleSelect.toString();
var OracleSimpleSelect = new OracleSelectQueryEvaluator(builder.Query);
var OracleSimpleSelectQuery = OracleSimpleSelect.toString();

Select with Where

 var builder = SelectQueryBuilder
.Initialize()
.From<TestEntity>()
.Where(n => n.Name.Contains("Yes"));

Result:

SELECT * FROM [TestEntity] WHERE [TestEntity].[Name] LIKE N'%Yes%'

Simple Join:

 var builder = SelectQueryBuilder
.Initialize()
.From<StudentEntity>()
.InnerJoin(s => s.TestEntitytID, (TestEntity t) => t.ID)
.Select((s, t) => new { s.ID, t.Name });

Result:

SELECT [StudentEntity].[ID], [TestEntity].[Name] FROM [StudentEntity] INNER JOIN [TestEntity] ON [StudentEntity].[TestEntitytID] = [TestEntity].[ID]

Simple Delete

 var builder = DeleteQueryBuilder<StudentEntity>.Initialize()
.Where(s => s.ID == 1);
var res = new SqlServerDeleteQueryEvaluator(builder.Query);

Result:

DELETE FROM [StudentEntity] WHERE [StudentEntity].[ID] = 1

Simple Update

 var builder = UpdateQueryBuilder<TestEntity>.Initialize()
.Set(s => new TestEntity { Name = "test" })
.Where(s => s.ID == 1);
var res = new SqlServerUpdateQueryEvaluator(builder.Query);

Result:

UPDATE ["TestEntity"] SET [Name] = N'test' WHERE [TestEntity].[ID] = 1

Releases

Packages

Contributors

Languages