MyDAL - is null && is not null 条件 使用

it2022-05-05  156

索引:

目录索引

一.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 周五

 

转载于:https://www.cnblogs.com/Meng-NET/p/10296445.html

相关资源:DirectX修复工具V4.0增强版

最新回复(0)