|
1 | 1 | [](https://ci.appveyor.com/project/dotFramework/dynamic-query) |
| 2 | +[](https://www.nuget.org/packages/DotFramework.DynamicQuery) |
| 3 | +[](https://www.nuget.org/packages/DotFramework.DynamicQuery) |
2 | 4 | [](https://github.com/dotFramework/dynamic-query/blob/master/LICENSE) |
3 | 5 |
|
4 | | -# Dynamic Query |
| 6 | +# Dynamic Query |
5 | 7 |
|
| 8 | +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. |
6 | 9 |
|
| 10 | +## Installation: |
| 11 | + Install the nuget package |
| 12 | + |
| 13 | + [](https://www.nuget.org/packages/DotFramework.DynamicQuery.SqlServer) |
| 14 | + |
| 15 | + [](https://www.nuget.org/packages/DotFramework.DynamicQuery.Oracle) |
| 16 | + |
| 17 | +## Simpe Select: |
| 18 | + |
| 19 | +```bash |
| 20 | + var builder = SelectQueryBuilder |
| 21 | + .Initialize() |
| 22 | + .From<TestEntity>(); |
| 23 | + |
| 24 | + var SqlSimpleSelect = new SqlServerSelectQueryEvaluator(builder.Query); |
| 25 | + var SqlSimpleSelectQuery = SqlSimpleSelect.toString(); |
| 26 | + |
| 27 | + var OracleSimpleSelect = new OracleSelectQueryEvaluator(builder.Query); |
| 28 | + var OracleSimpleSelectQuery = OracleSimpleSelect.toString(); |
| 29 | +``` |
| 30 | + |
| 31 | +## Select with Where |
| 32 | + |
| 33 | +```bash |
| 34 | + var builder = SelectQueryBuilder |
| 35 | + .Initialize() |
| 36 | + .From<TestEntity>() |
| 37 | + .Where(n => n.Name.Contains("Yes")); |
| 38 | +``` |
| 39 | +Result: |
| 40 | + |
| 41 | +SELECT * |
| 42 | +FROM [TestEntity] |
| 43 | +WHERE [TestEntity].[Name] LIKE N'%Yes%' |
| 44 | + |
| 45 | +## Simple Join: |
| 46 | + |
| 47 | +```bash |
| 48 | + var builder = SelectQueryBuilder |
| 49 | + .Initialize() |
| 50 | + .From<StudentEntity>() |
| 51 | + .InnerJoin(s => s.TestEntitytID, (TestEntity t) => t.ID) |
| 52 | + .Select((s, t) => new { s.ID, t.Name }); |
| 53 | +``` |
| 54 | +
|
| 55 | +Result: |
| 56 | +
|
| 57 | +SELECT [StudentEntity].[ID], [TestEntity].[Name] |
| 58 | +FROM [StudentEntity] INNER JOIN [TestEntity] ON [StudentEntity].[TestEntitytID] = [TestEntity].[ID] |
| 59 | +
|
| 60 | +## Simple Delete |
| 61 | +
|
| 62 | +```bash |
| 63 | + var builder = DeleteQueryBuilder<StudentEntity> |
| 64 | + .Initialize() |
| 65 | + .Where(s => s.ID == 1); |
| 66 | +
|
| 67 | + var res = new SqlServerDeleteQueryEvaluator(builder.Query); |
| 68 | +``` |
| 69 | +
|
| 70 | +Result: |
| 71 | +
|
| 72 | +DELETE FROM [StudentEntity] |
| 73 | +WHERE [StudentEntity].[ID] = 1 |
| 74 | +
|
| 75 | +## Simple Update |
| 76 | +
|
| 77 | +```bash |
| 78 | + var builder = UpdateQueryBuilder<TestEntity> |
| 79 | + .Initialize() |
| 80 | + .Set(s => new TestEntity { Name = "test" }) |
| 81 | + .Where(s => s.ID == 1); |
| 82 | +
|
| 83 | + var res = new SqlServerUpdateQueryEvaluator(builder.Query); |
| 84 | +``` |
| 85 | +
|
| 86 | +Result: |
| 87 | + |
| 88 | + UPDATE ["TestEntity"] |
| 89 | +SET [Name] = N'test' |
| 90 | +WHERE [TestEntity].[ID] = 1 |
0 commit comments