mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-18 22:30:56 +08:00
update
20
With-Sql.md
20
With-Sql.md
@@ -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)
|
||||
|
||||
26
withsql.md
26
withsql.md
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user