mirror of
https://github.com/dotnetcore/FreeSql.git
synced 2026-02-05 16:00:52 +08:00
Updated 表达式函数 (markdown)
19
表达式函数.md
19
表达式函数.md
@@ -1,9 +1,11 @@
|
||||
FreeSql 支持功能丰富的表达式函数解析,方便程序员在不了解数据库函数的情况下编写代码。这是 FreeSql 非常特色的功能之一,深入细化函数解析尽量做到满意,所支持的类型基本都可以使用对应的表达式函数,例如 日期、字符串、IN查询、数组(PostgreSQL的数组)、字典(PostgreSQL HStore)等等。
|
||||
这是 FreeSql 非常特色的功能之一,深入细化函数解析,所支持的类型基本都可以使用对应的表达式函数,例如 日期、字符串、IN查询、数组(PostgreSQL的数组)、字典(PostgreSQL HStore)等等。
|
||||
|
||||
## In查询
|
||||
|
||||
```csharp
|
||||
var t1 = fsql.Select<T>().Where(a => new[] { 1, 2, 3 }.Contains(a.Id)).ToSql();
|
||||
var t1 = fsql.Select<T>()
|
||||
.Where(a => new[] { 1, 2, 3 }
|
||||
.Contains(a.Id)).ToSql();
|
||||
//SELECT .. FROM ..
|
||||
//WHERE (a.`Id` in (1,2,3))
|
||||
```
|
||||
@@ -17,12 +19,15 @@ var t1 = fsql.Select<T>().Where(a => new[] { 1, 2, 3 }.Contains(a.Id)).ToSql();
|
||||
In 只能实现单列查询,多列怎么办?
|
||||
|
||||
```csharp
|
||||
List<(Guid, DateTime)> tupleList = new List<(Guid, DateTime)>();
|
||||
//元组集合
|
||||
vae lst = new List<(Guid, DateTime)>();
|
||||
|
||||
tupleList.Add((Guid.NewGuid(), DateTime.Now));
|
||||
tupleList.Add((Guid.NewGuid(), DateTime.Now));
|
||||
tupleList.Add((Guid.NewGuid(), DateTime.Now));
|
||||
var t2 = fsql.Select<T>().Where(a => contains2linqarr.ContainsMany(a.Id, a.ct1)).ToSql();
|
||||
lst.Add((Guid.NewGuid(), DateTime.Now));
|
||||
lst.Add((Guid.NewGuid(), DateTime.Now));
|
||||
lst.Add((Guid.NewGuid(), DateTime.Now));
|
||||
var t2 = fsql.Select<T>()
|
||||
.Where(a => lst.ContainsMany(a.Id,a.ct1))
|
||||
.ToSql();
|
||||
//SELECT .. FROM ..
|
||||
//WHERE (a."Id" = '685ee1f6-bdf6-4719-a291-c709b8a1378f' AND a."ct1" = '2019-12-07 23:55:27' OR
|
||||
//a."Id" = '5ecd838a-06a0-4c81-be43-1e77633b7404' AND a."ct1" = '2019-12-07 23:55:27' OR
|
||||
|
||||
Reference in New Issue
Block a user