索引:

目录索引

一.API 列表

  .QueryOneAsync()

  .QueryOneAsync<M>()

    如: .QueryOneAsync<Agent>() , 用于 单表/多表连接 查询.

  .QueryOneAsync<VM>()

    如: .QueryOneAsync<AgentVM>() , 用于 单表 查询.

  .QueryOneAsync<T>(Expression<Func<M, T>> columnMapFunc)

    如: .QueryOneAsync<Guid>(it => it.Id) , 用于 单表 单列 查询.

    或者:

        .QueryOneAsync<AgentVM>(it => new AgentVM
                   {
                      XXXX = it.Name,
                      YYYY = it.PathId
                   })    , 用于 单表 多列 查询.

  .QueryOneAsync<T>(Expression<Func<T>> columnMapFunc)

    如: .Queryer(out Agent agent, out AgentInventoryRecord agentRecord)

      ......

      .QueryOneAsync<string>(() => agent.Name)

      用于 多表连接 单列 查询.

    或者:

      .Queryer(out Agent agent2, out AgentInventoryRecord record2)

      ......

      .QueryOneAsync(() => new AgentVM
                   {
                      nn = agent2.PathId,
                      yy = record2.Id,
                      xx = agent2.Id,
                      zz = agent2.Name,
                      mm = record2.LockedCount
                     })  , 用于 多表连接 多列 查询.

二.API 单表-便捷 方法 举例

  1. 单表 单列 便捷方法    

             var pk = Guid.Parse("8f2cbb64-8356-4482-88ee-016558c05b2d");
var date= DateTime.Parse("2018-08-20 19:12:05.933786"); var res3 = await Conn
5          .QueryOneAsync<AlipayPaymentRecord, Guid>(it => it.Id == pk && it.CreatedOn == date,it=>it.Id);

    以 MySQL 为例,生成 SQL 如下:

 select `Id`
from `AlipayPaymentRecord`
where ( `Id`=?Id_2 && `CreatedOn`=?CreatedOn_3)
limit 0,1;

  2. 单表 多列 便捷方法

             var pk = Guid.Parse("8f2cbb64-8356-4482-88ee-016558c05b2d");
var date= DateTime.Parse("2018-08-20 19:12:05.933786"); var res4 = await Conn
           .QueryOneAsync<AlipayPaymentRecord, AlipayPaymentRecordVM>(it => it.Id == pk && it.CreatedOn == date,
it => new AlipayPaymentRecordVM
{
Id = it.Id,
TotalAmount = it.TotalAmount,
Description = it.Description
});

    以 MySQL 为例,生成 SQL 如下:

 select     `Id` as Id,
`TotalAmount` as TotalAmount,
`Description` as Description
from `AlipayPaymentRecord`
where ( `Id`=?Id_2 && `CreatedOn`=?CreatedOn_3)
limit 0,1;

  3. 单表 单条 VM 便捷方法

             var pk = Guid.Parse("8f2cbb64-8356-4482-88ee-016558c05b2d");
var date = DateTime.Parse("2018-08-20 19:12:05.933786"); var res5 = await Conn
5          .QueryOneAsync<AlipayPaymentRecord, AlipayPaymentRecordVM>(it => it.Id == pk && it.CreatedOn == date);

    以 MySQL 为例,生成 SQL 如下:

 select     `Id`,
`CreatedOn`,
`TotalAmount`,
`Description`,
`CanceledOn`
from `AlipayPaymentRecord`
where ( `Id`=?Id_2 && `CreatedOn`=?CreatedOn_3)
limit 0,1;

  4. 单表 单条 M 便捷方法

             var pk = Guid.Parse("8f2cbb64-8356-4482-88ee-016558c05b2d");
var date = DateTime.Parse("2018-08-20 19:12:05.933786"); var res6 = await Conn
5          .QueryOneAsync<AlipayPaymentRecord>(it => it.Id == pk && it.CreatedOn == date);

    以 MySQL 为例,生成 SQL 如下:

 select *
from `AlipayPaymentRecord`
where ( `Id`=?Id_2 && `CreatedOn`=?CreatedOn_3)
limit 0,1;

三.API 单表-完整 方法 举例

  1. 单表 单列 完整方法

             var time1 = DateTime.Parse("2018-08-16 19:22:01.716307");

             var res1 = await Conn
.Queryer<Agent>()
.Where(it => it.CreatedOn == time1)
.QueryOneAsync<Guid>(it => it.Id);

    以 MySQL 为例,生成 SQL 如下:

 select `Id`
from `Agent`
where `CreatedOn`=?CreatedOn_1
limit 0,1;

  2.单表 多列 完整方法

             var res3 = await Conn
.Queryer<Agent>()
.Where(it => it.Id == Guid.Parse("000c1569-a6f7-4140-89a7-0165443b5a4b"))
.QueryOneAsync<AgentVM>(it => new AgentVM
{
XXXX = it.Name,
YYYY = it.PathId
});

    以 MySQL 为例,生成 SQL 如下:

 select     `Name` as XXXX,
`PathId` as YYYY
from `Agent`
where `Id`=?Id_1
limit 0,1;

  3.单表 单条 VM 完整方法

             var res1 = await Conn
.Queryer<Agent>()
.Where(it => it.Id == Guid.Parse("000c1569-a6f7-4140-89a7-0165443b5a4b"))
.QueryOneAsync<AgentVM>();

    以 MySQL 为例,生成 SQL 如下:

 select     `Id`,
`CreatedOn`,
`UserId`,
`PathId`,
`Name`,
`Phone`
from `Agent`
where `Id`=?Id_1
limit 0,1;

  4.单表 单条 M 完整方法

             var res1 = await Conn
.Queryer<BodyFitRecord>()
.Where(it => it.Id == Guid.Parse("1fbd8a41-c75b-45c0-9186-016544284e2e"))
.QueryOneAsync();

    以 MySQL 为例,生成 SQL 如下:

 select *
from `BodyFitRecord`
where `Id`=?Id_1
limit 0,1;

四.API 多表连接-完整 方法 举例

  1.多表连接 单列 完整方法

             var res1 = await Conn
.Queryer(out Agent agent, out AgentInventoryRecord agentRecord)
.From(() => agent)
.InnerJoin(() => agentRecord)
.On(() => agent.Id == agentRecord.AgentId)
.Where(() => agent.AgentLevel == AgentLevel.DistiAgent)
.QueryOneAsync<string>(() => agent.Name);

    以 MySQL 为例,生成 SQL 如下:

 select agent.`Name`
from `Agent` as agent
inner join AgentInventoryRecord as agentRecord
on agent.`Id`=agentRecord.`AgentId`
where agent.`AgentLevel`=?AgentLevel_4
limit 0,1;

  2.多表连接 多列 完整方法

             var guid2 = Guid.Parse("544b9053-322e-4857-89a0-0165443dcbef");

             var res2 = await Conn
.Queryer(out Agent agent2, out AgentInventoryRecord record2)
.From(() => agent2)
.InnerJoin(() => record2)
.On(() => agent2.Id == record2.AgentId)
.Where(() => agent2.Id == guid2)
.QueryOneAsync(() => new AgentVM
{
nn = agent2.PathId,
yy = record2.Id,
xx = agent2.Id,
zz = agent2.Name,
mm = record2.LockedCount
});

    以 MySQL 为例,生成 SQL 如下:

 select     agent2.`PathId` as nn,
record2.`Id` as yy,
agent2.`Id` as xx,
agent2.`Name` as zz,
record2.`LockedCount` as mm
from `Agent` as agent2
inner join AgentInventoryRecord as record2
on agent2.`Id`=record2.`AgentId`
where agent2.`Id`=?Id_4
limit 0,1;

  3.多表连接 单条 M 完整方法

             var guid6 = Guid.Parse("544b9053-322e-4857-89a0-0165443dcbef");

             var res6 = await Conn
.Queryer(out Agent agent6, out AgentInventoryRecord record6)
.From(() => agent6)
.InnerJoin(() => record6)
.On(() => agent6.Id == record6.AgentId)
.Where(() => agent6.Id == guid6)
.QueryOneAsync<Agent>();

    以 MySQL 为例,生成 SQL 如下:

 select agent6.`*`
from `Agent` as agent6
inner join AgentInventoryRecord as record6
on agent6.`Id`=record6.`AgentId`
where agent6.`Id`=?Id_4
limit 0,1;

                                         蒙

                                    2018-12-13 14:35 周四

                                    2018-12-30 11:25 周日

                                    2019-02-24 17:03 周日

                                    2019-04-12 19:32 周五

最新文章

  1. unity3d 我的面试经历
  2. JavaBean转换为XML的源码
  3. [Android] 查看Android中的AlarmManager事件
  4. Hadoop.2.x_简单的测试文件读取与上传
  5. JPA一对一关联
  6. UWP 解压 GZIP
  7. OpenGL图形管线和坐标变换[转]
  8. 实现类似 QQ音乐网页版 的单页面总结
  9. Dij的堆优化
  10. PHP 汉字转拼音(首拼音,所有拼音)
  11. css样式书写顺序
  12. HNU 13064 Cuckoo for Hashing解题报告 North America - East Central 2013
  13. js利用闭包封装自定义模块的几种方法
  14. 用dd实现linux硬盘备份
  15. MySQL 笔记整理(11) --怎么给字符串字段加索引?
  16. Centos7下gogs数据配置迁移
  17. CSS 选择器的兼容性
  18. 【转】Linux root修改密码失败
  19. jq文件上传及下载
  20. Haskell语言学习笔记(71)Semigroup

热门文章

  1. Git原理与命令大全
  2. CI持续集成系列之(九)代码发布脚本模板书写
  3. 【原】无脑操作:IDEA + maven + Shiro + SpringBoot + JPA + Thymeleaf实现基础认证权限
  4. 第九周LINUX 学习笔记
  5. 【IIS】解决IIS无响应假死状态,asp突然无法访问重启后可以使用是什么原因
  6. Python学习笔记【第一篇】:认识python和基础知识
  7. Java实现Http请求的常用方式
  8. 团队选题报告(bull beer)
  9. nginx报错 [error] open() “/usr/local/var/run/openresty.pid” failed (2: No such file or directory)
  10. 在linux(centos)系统安装nginx教程