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

Latest commit

 

History

History
90 lines (64 loc) · 2.99 KB

File metadata and controls

90 lines (64 loc) · 2.99 KB

Build status NuGet Release NuGet Downloads License

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