update

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

@@ -16,17 +16,11 @@ Define entity class:
public decimal Point { get; set; }
public Sex? Sex { get; set; }
}
public enum Sex
{
Boy,
Girl
}
public enum Sex { Boy, Girl }
public class TestClssDto
{
public string ID { get; set; }
public int? Age { get; set; }
public DateTime? Birthday { get; set; }
}
```
@@ -44,12 +38,14 @@ Different query results:
```csharp
DataTable dt1 = _fsql.Select<object>()
.WithSql("select * from TestClass")
.Where(...)
.ToDataTable("ID, Age");
```
```sql
SELECT ID, Age
FROM ( select * from TestClass ) a
WHERE ...
```
### Return to DataTable with all columns
@@ -57,11 +53,14 @@ SELECT ID,Age
```csharp
DataTable dt2 = _fsql.Select<object>()
.WithSql("select * from TestClass")
.Where(...)
.ToDataTable("*");
```
```sql
SELECT *
FROM ( select * from TestClass ) a
WHERE ...
```
### Return List\<Tuple\> (i.e. List\<(string, string)\>)
@@ -70,12 +69,14 @@ FROM ( select * from TestClass ) a
List<(string,string)> list1 = _fsql
.Select<object>()
.WithSql("select * from TestClass")
.Where(...)
.ToList<(string, string)>("ID, Age");
```
```sql
SELECT ID, Age
FROM ( select * from TestClass ) a
WHERE ...
```
### Return List\<object\>
@@ -83,11 +84,14 @@ SELECT ID, Age
```csharp
var list2 = _fsql.Select<object>()
.WithSql("select * from TestClass ")
.Where(...)
.ToList<object>("*");
```
```sql
SELECT *
FROM ( select * from TestClass ) a
WHERE ...
```
### Return List\<object\> and support paging
@@ -99,6 +103,7 @@ SELECT *
.Page(1, 10).OrderBy("ID DESC")
.ToList<object>("ID,Age");
```
```sql
SELECT ID, Age
FROM ( select * from TestClass ) a
@@ -126,7 +131,6 @@ SELECT ID, Age,BIRTH_DAY as Birthday
limit 0,10
```
## WithSql + ToSQL = Union ALL
> v3.2.666 [UnionAll Query](%E8%81%94%E5%90%88%E6%9F%A5%E8%AF%A2)

@@ -1,8 +1,9 @@
**中文** | [English](With-Sql)
# WithSql 自定义SQL
## WithSql 自定义 SQL
定义实体类
```csharp
public class TestClass
{
@@ -15,40 +16,35 @@
public decimal Point { get; set; }
public Sex? Sex { get; set; }
}
public enum Sex
{
Boy,
Girl
}
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
```csharp
DataTable dt1 = _fsql.Select<object>()
.WithSql("select * from TestClass")
.Where(...)
.ToDataTable("ID, Age");
```
```sql
SELECT ID, Age
FROM ( select * from TestClass ) a
WHERE ...
```
### 2.返回 DataTable
@@ -56,11 +52,14 @@ SELECT ID,Age
```csharp
DataTable dt2 = _fsql.Select<object>()
.WithSql("select * from TestClass")
.Where(...)
.ToDataTable("*");
```
```sql
SELECT *
FROM ( select * from TestClass ) a
WHERE ...
```
### 3.返回`List<Tuplue>` 即`List<(string,string)>` 元组
@@ -69,12 +68,14 @@ FROM ( select * from TestClass ) a
List<(string,string)> list1 = _fsql
.Select<object>()
.WithSql("select * from TestClass")
.Where(...)
.ToList<(string, string)>("ID, Age");
```
```sql
SELECT ID, Age
FROM ( select * from TestClass ) a
WHERE ...
```
### 4.返回`List<object>`
@@ -82,11 +83,14 @@ SELECT ID, Age
```csharp
var list2 = _fsql.Select<object>()
.WithSql("select * from TestClass ")
.Where(...)
.ToList<object>("*");
```
```sql
SELECT *
FROM ( select * from TestClass ) a
WHERE ...
```
### 5.返回`List<object>` 且能支持分页
@@ -98,6 +102,7 @@ SELECT *
.Page(1, 10).OrderBy("ID DESC")
.ToList<object>("ID,Age");
```
```sql
SELECT ID, Age
FROM ( select * from TestClass ) a
@@ -125,7 +130,6 @@ SELECT ID,Age,BIRTH_DAY as Birthday
limit 0,10
```
## 通过 WithSql + ToSQL实现 Union ALL 查询方法
> v3.2.666 [UnionAll 联合查询](%E8%81%94%E5%90%88%E6%9F%A5%E8%AF%A2)