索引:
一.API 列表
C# 代码中 instance.property == null 生成 SQL 对应的 is null :
如:.Queryer<Agent>()
... ...
.Where(it => it.CrmUserId == null)
... ... 用于 单表 is null 条件
.Queryer(out Agent a5,out AgentInventoryRecord r5)
... ...
.Where(() => a5.ActiveOrderId==null)
... ... 用于 多表连接 is null 条件
C# 代码中 instance.propery != null 生成 SQL 对应的 is not null :
如:.Queryer<Agent>()
... ...
.Where(it => it.ActiveOrderId != null)
... ... 用于 单表 is not null 条件
.Queryer(out Agent a6, out AgentInventoryRecord r6)
... ...
.Where(() => a6.ActiveOrderId != null)
... ... 用于 多表连接 is not null 条件
二.API 单表-便捷 方法 举例
1. IS NULL 条件
1 var res7 = await Conn.QueryListAsync<Agent>(it => it.ActiveOrderId == null);
以 MySQL 为例,生成 SQL 如下:
1 select * 2 from `agent` 3 where `ActiveOrderId` is null ;
2. IS NOT NULL 条件
1 var res8 = await Conn.QueryListAsync<Agent>(it => it.ActiveOrderId != null);
以 MySQL 为例,生成 SQL 如下:
1 select * 2 from `agent` 3 where `ActiveOrderId` is not null ;
三.API 单表-完整 方法 举例
1. IS NULL 条件
1 var res1 = await Conn 2 .Queryer<Agent>() 3 .Where(it => it.ActiveOrderId == null) 4 .QueryListAsync();
以 MySQL 为例,生成 SQL 如下:
1 select * 2 from `agent` 3 where `ActiveOrderId` is null ;
2. IS NOT NULL 条件
1 var res4 = await Conn 2 .Queryer<Agent>() 3 .Where(it => it.ActivedOn != null && it.ActiveOrderId != null && it.CrmUserId == null) 4 .QueryListAsync();
以 MySQL 为例,生成 SQL 如下:
1 select * 2 from `agent` 3 where (( `ActivedOn` is not null && `ActiveOrderId` is not null ) && `CrmUserId` is null );
四.API 多表连接-完整 方法 举例
1. IS NULL 条件
1 var res5 = await Conn 2 .Queryer(out Agent a5,out AgentInventoryRecord r5) 3 .From(()=>a5) 4 .LeftJoin(()=>r5) 5 .On(()=>a5.Id==r5.AgentId) 6 .Where(() => a5.ActiveOrderId==null) 7 .QueryListAsync<Agent>();
以 MySQL 为例,生成 SQL 如下:
1 select a5.`*` 2 from `agent` as a5 3 left join `agentinventoryrecord` as r5 4 on a5.`Id`=r5.`AgentId` 5 where a5.`ActiveOrderId` is null ;
2. IS NOT NULL 条件
1 var res6 = await Conn 2 .Queryer(out Agent a6, out AgentInventoryRecord r6) 3 .From(() => a6) 4 .LeftJoin(() => r6) 5 .On(() => a6.Id == r6.AgentId) 6 .Where(() => a6.ActiveOrderId != null) 7 .QueryListAsync<Agent>();
以 MySQL 为例,生成 SQL 如下:
1 select a6.`*` 2 from `agent` as a6 3 left join `agentinventoryrecord` as r6 4 on a6.`Id`=r6.`AgentId` 5 where a6.`ActiveOrderId` is not null ;
蒙
2019-01-20 22:22 周日
2019-04-12 23:47 周五