• MyDAL


    索引:

    目录索引

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

  • 相关阅读:
    ubuntu安装gnome桌面,ubuntu系统16升级到18
    重置root密码
    shell中tr的用法
    ubuntu14.04安装zabbix
    TTTTTTTTTTTTTT poj 1127 Jack Straws 线段相交+并查集
    TTTTTTTTTTTTT poj 3057 Evacuation 二分图匹配+bfs
    hdu 1208 Ignatius and the Princess III 划分数,dp
    Poj 3057 未AC http://poj.org/showsource?solution_id=15175171
    poj 3662 Telephone Lines dijkstra+二分搜索
    poj 3684 Physics Experiment 弹性碰撞
  • 原文地址:https://www.cnblogs.com/Meng-NET/p/10296445.html
Copyright © 2020-2023  润新知