dapper 在进行多表联合查询时用到的splitOn参数是什么意思
2017-04-27 18:32
501 查看
这里直接引用园友的一篇文章啊,。写的也是非常好,地址是点击打开链接,在多表join操作中写道了
var sql = @"select p.ProductName,p.CreateTime,u.UserName from Product as p join Users as u on p.UserID = u.UserID where p.CreateTime > '2015-12-12'; "; var result = connection.Query<Product, Users, Product>(sql, (product, users) => { product.UserOwner = users; return product; },splitOn: "UserName");
这一段代码,这里没有看懂这splitOn参数到底是什么意思啊?就查看博客和源码,终于找到答案:代码中的
splitOn是UserName,运行时,会从查询结果所有字段列表的最后一个字段开始进行匹配,一直到找到UserName这个字段(大小写忽略无所谓),
找到的第一个UserName字段匹配的Product
类的UserName属性,那么从UserName到最后一个字段都属于Product,UserName以前的字段都被影射到Users, 通过
[/code](product, users) =>{product.UserOwner = users; return product;},把两个类的实例解析出来。就实现了两个数据的解析,要不然dapper也不知道哪个是Product哪个是Users的属性。
相关文章推荐
- 簇表BSEG在联合查询时用什么表去替代
- 使用准则进行条件查询--1.3.运行查询前输入参数
- set nocount on的疑问 set nocount on作用 set nocount on什么意思
- JS中调用后台方法进行验证&&返回值后加?的意思&&在GridView中指定一列为超级链接并有查询字符串的写法
- SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思 sql server 2005 2008
- On Error Resume Next是什么意思
- (转)set JAVA_OPTS的各项参数是什么意思
- SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思 sql server 2005 2008
- 创建表时参数PCTFREE和PCTUSED是什么意思?
- SET ANSI_NULLS ON SET QUOTED_IDENTIFIER ON 什么意思 sql server 2005 2008
- hiernate 中联合查询,得到的list是一个对象数组,这样需要进行适当处理来取值。
- 存储过程中的 SET NOCOUNT ON 和SET NOCOUNT OFF是 什么意思?
- iBatis中联合AND和OR进行查询
- 在xslt中实现split方法对查询字符串进行分隔
- VB里"On Error Resume Next"是什么意思?
- 存储过程中的 SET NOCOUNT ON 什么意思?
- 系统参数中,设置“由平台收集后备案”是什么意思?
- DateTimePicker 选择时间 进行查询,用到的日期格式[格式转自网上]
- 请问set JAVA_OPTS的各项参数是什么意思?
- 在链接css或js文件时后面带有问号参数是什么意思?