Dapper多表查询时子表字段为空

出门莫恨无人随,书中车马多如簇。这篇文章主要讲述Dapper多表查询时子表字段为空相关的知识,希望能为你提供帮助。
  最近在学习使用Dapper时百度了一篇详细使用教程,在做到多表查询的时候,出现如下情况。

Dapper多表查询时子表字段为空

文章图片

使用的SQL如下,
1 SELECT * 2 FROM [Student] AS A 3 inner JOIN [Junior] AS B ON B.ID=A.JuniorId

随后以为是自己写错了,查了好多地方没有找到原因。后来找了大神一线码农的关于Dapper的文章中提到了spliton的概念,其中讲述了关于Dapper如何获取实体的描述(如下这图所示),才知道了有可能是字段顺序出了问题。

Dapper多表查询时子表字段为空

文章图片

  随后发现ID出现了最后一列,是由于当初在创建各个表的时候ID没有设置自增,随后又把列给删了后重新使用 “alter table 表 add 列 int  IDENTITY(1,1) NOT  NULL” 新增了自增列。
【Dapper多表查询时子表字段为空】
Dapper多表查询时子表字段为空

文章图片
       
Dapper多表查询时子表字段为空

文章图片

 
随后,将查询条件给成如下结果才解决了这个问题。 
1 SELECT a.ID,a.SID,a.Name,a.JuniorId,b.ID,b.Code,b.Name 2 FROM [Student] AS A 3 inner JOIN [Junior] AS B ON B.ID=A.JuniorId

 
Dapper多表查询时子表字段为空

文章图片

 
这个问题确实比较简单,出现的时候找了好久,记录下来也给自己一个提醒。
 
文中参考链接:
https://ithelp.ithome.com.tw/articles/10198210?sc=rss.qu
https://www.cnblogs.com/huangxincheng/p/5832281.html


    推荐阅读