update

2881099
2023-10-11 19:03:57 +08:00
parent 2d2f3b5b4d
commit 43bd4b3f7b
2 changed files with 106 additions and 98 deletions

@@ -5,30 +5,24 @@
Define entity class:
```csharp
public class TestClass
{
[Column(Name = "ID", IsPrimary = true)]
public string No { get; set; }
public int? Age { get; set; }
public string Name { get; set; }
[Column(Name = "BIRTH_DAY")]
public DateTime? Birthday { get; set; }
public decimal Point { get; set; }
public Sex? Sex { get; set; }
}
public enum Sex
{
Boy,
Girl
}
public class TestClssDto
{
public string ID { get; set; }
public int? Age { get; set; }
public DateTime? Birthday { get; set; }
}
public class TestClass
{
[Column(Name = "ID", IsPrimary = true)]
public string No { get; set; }
public int? Age { get; set; }
public string Name { get; set; }
[Column(Name = "BIRTH_DAY")]
public DateTime? Birthday { get; set; }
public decimal Point { get; set; }
public Sex? Sex { get; set; }
}
public enum Sex { Boy, Girl }
public class TestClssDto
{
public string ID { get; set; }
public int? Age { get; set; }
public DateTime? Birthday { get; set; }
}
```
Different query results:
@@ -43,25 +37,30 @@ Different query results:
```csharp
DataTable dt1 = _fsql.Select<object>()
.WithSql("select * from TestClass ")
.ToDataTable("ID,Age");
.WithSql("select * from TestClass")
.Where(...)
.ToDataTable("ID, Age");
```
```sql
SELECT ID,Age
FROM(select * from TestClass ) a
SELECT ID, Age
FROM ( select * from TestClass ) a
WHERE ...
```
### Return to DataTable with all columns
```csharp
DataTable dt2 = _fsql.Select<object>()
.WithSql("select * from TestClass ")
.WithSql("select * from TestClass")
.Where(...)
.ToDataTable("*");
```
```sql
SELECT *
FROM ( select * from TestClass ) a
SELECT *
FROM ( select * from TestClass ) a
WHERE ...
```
### Return List\<Tuple\> (i.e. List\<(string, string)\>)
@@ -69,13 +68,15 @@ FROM ( select * from TestClass ) a
```csharp
List<(string,string)> list1 = _fsql
.Select<object>()
.WithSql("select * from TestClass ")
.ToList<(string, string)>("ID,Age");
.WithSql("select * from TestClass")
.Where(...)
.ToList<(string, string)>("ID, Age");
```
```sql
SELECT ID, Age
FROM(select * from TestClass ) a
FROM ( select * from TestClass ) a
WHERE ...
```
### Return List\<object\>
@@ -83,28 +84,32 @@ SELECT ID, Age
```csharp
var list2 = _fsql.Select<object>()
.WithSql("select * from TestClass ")
.Where(...)
.ToList<object>("*");
```
```sql
SELECT *
FROM(select * from TestClass ) a
FROM ( select * from TestClass ) a
WHERE ...
```
### Return List\<object\> and support paging
```csharp
var list3 = _fsql.Select<object>()
var list3 = _fsql.Select<object>()
.WithSql("select * from TestClass ")
.WhereIf(true, "1=1")
.Page(1, 10).OrderBy("ID DESC")
.ToList<object>("ID,Age");
```
```sql
SELECT ID, Age
FROM(select * from TestClass ) a
WHERE(1 = 1)
ORDER BY ID DESC
limit 0,10
FROM ( select * from TestClass ) a
WHERE (1 = 1)
ORDER BY ID DESC
limit 0,10
```
### Return List\<TestClassDto\> and support paging
@@ -119,15 +124,14 @@ var list4 = _fsql.Select<object>()
```
```sql
SELECT ID, Age,BIRTH_DAY as Birthday
FROM(select * from TestClass ) a
WHERE(1 = 1)
ORDER BY ID DESC
limit 0,10
SELECT ID,Age,BIRTH_DAY as Birthday
FROM ( select * from TestClass ) a
WHERE (1 = 1)
ORDER BY ID DESC
limit 0,10
```
## WithSql+ ToSQL = Union ALL
## WithSql + ToSQL = Union ALL
> v3.2.666 [UnionAll Query](%E8%81%94%E5%90%88%E6%9F%A5%E8%AF%A2)

@@ -1,66 +1,65 @@
**中文** | [English](With-Sql)
# WithSql 自定义SQL
## WithSql 自定义 SQL
定义实体类
```csharp
public class TestClass
{
[Column(Name = "ID", IsPrimary = true)]
public string No { get; set; }
public int? Age { get; set; }
public string Name { get; set; }
[Column(Name = "BIRTH_DAY")]
public DateTime? Birthday { get; set; }
public decimal Point { get; set; }
public Sex? Sex { get; set; }
}
public enum Sex
{
Boy,
Girl
}
public class TestClssDto
{
public string ID { get; set; }
public int? Age { get; set; }
public DateTime? Birthday { get; set; }
}
public class TestClass
{
[Column(Name = "ID", IsPrimary = true)]
public string No { get; set; }
public int? Age { get; set; }
public string Name { get; set; }
[Column(Name = "BIRTH_DAY")]
public DateTime? Birthday { get; set; }
public decimal Point { get; set; }
public Sex? Sex { get; set; }
}
public enum Sex { Boy, Girl }
public class TestClssDto
{
public string ID { get; set; }
public int? Age { get; set; }
public DateTime? Birthday { get; set; }
}
```
不同的查询方式。
- 返回`DataTable`
- 返回`List<Tuplue>``List<(string,string)>`元组
- 返回`List<object>` 且能支持分页
- 返回`List<TestClassDto>`且能支持分页
> v3.2.666 [WithTempQuery + FromQuery Nested Query](%e5%b5%8c%e5%a5%97%e6%9f%a5%e8%af%a2)
### 1.返回DataTable
### 1.返回 DataTable
```csharp
DataTable dt1 = _fsql.Select<object>()
.WithSql("select * from TestClass ")
.ToDataTable("ID,Age");
.WithSql("select * from TestClass")
.Where(...)
.ToDataTable("ID, Age");
```
```sql
SELECT ID,Age
FROM(select * from TestClass ) a
SELECT ID, Age
FROM ( select * from TestClass ) a
WHERE ...
```
### 2.返回DataTable
### 2.返回 DataTable
```csharp
DataTable dt2 = _fsql.Select<object>()
.WithSql("select * from TestClass ")
.WithSql("select * from TestClass")
.Where(...)
.ToDataTable("*");
```
```sql
SELECT *
FROM ( select * from TestClass ) a
SELECT *
FROM ( select * from TestClass ) a
WHERE ...
```
### 3.返回`List<Tuplue>` 即`List<(string,string)>` 元组
@@ -68,13 +67,15 @@ FROM ( select * from TestClass ) a
```csharp
List<(string,string)> list1 = _fsql
.Select<object>()
.WithSql("select * from TestClass ")
.ToList<(string, string)>("ID,Age");
.WithSql("select * from TestClass")
.Where(...)
.ToList<(string, string)>("ID, Age");
```
```sql
SELECT ID, Age
FROM(select * from TestClass ) a
FROM ( select * from TestClass ) a
WHERE ...
```
### 4.返回`List<object>`
@@ -82,28 +83,32 @@ SELECT ID, Age
```csharp
var list2 = _fsql.Select<object>()
.WithSql("select * from TestClass ")
.Where(...)
.ToList<object>("*");
```
```sql
SELECT *
FROM(select * from TestClass ) a
FROM ( select * from TestClass ) a
WHERE ...
```
### 5.返回`List<object>` 且能支持分页
```csharp
var list3 = _fsql.Select<object>()
var list3 = _fsql.Select<object>()
.WithSql("select * from TestClass ")
.WhereIf(true, "1=1")
.Page(1, 10).OrderBy("ID DESC")
.ToList<object>("ID,Age");
```
```sql
SELECT ID, Age
FROM(select * from TestClass ) a
WHERE(1 = 1)
ORDER BY ID DESC
limit 0,10
FROM ( select * from TestClass ) a
WHERE (1 = 1)
ORDER BY ID DESC
limit 0,10
```
### 6.返回`List<TestClassDto>`且能支持分页
@@ -119,14 +124,13 @@ var list4 = _fsql.Select<object>()
```sql
SELECT ID,Age,BIRTH_DAY as Birthday
FROM(select * from TestClass ) a
WHERE(1 = 1)
ORDER BY ID DESC
limit 0,10
FROM ( select * from TestClass ) a
WHERE (1 = 1)
ORDER BY ID DESC
limit 0,10
```
## 通过 WithSql+ ToSQL实现 Union ALL 查询方法
## 通过 WithSql + ToSQL实现 Union ALL 查询方法
> v3.2.666 [UnionAll 联合查询](%E8%81%94%E5%90%88%E6%9F%A5%E8%AF%A2)