MyDAL - is null && is not null 条件 使用
索引:
一.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);
生成 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);
生成 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();
生成 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();
生成 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>();
生成 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>();
生成 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 周日
推荐阅读
-
SQL中WHERE变量IS NULL条件导致全表扫描问题的解决方法
-
SQL中WHERE变量IS NULL条件导致全表扫描问题的解决方法
-
Java中是使用增强for的null问题
-
oracle使用order by排序null值如何处理
-
PHP的isset()、is_null、empty()使用总结
-
C#6 null 条件运算符
-
无法确定条件表达式的类型,因为“
”和“System.DateTime”之间没有隐式转换----解决办法 -
MyDAL - like && not like 条件 使用
-
如何优雅的使用 参数 is null而不导致全表扫描(破坏索引)
-
SQL Server中NULL的正确使用与空间占用