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

dotFramework/dynamic-query

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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