最近在學習使用Dapper時百度了一篇詳細使用教程,在做到多表查詢的時候,出現如下情況。
使用的SQL如下,
1 SELECT * 2 FROM [Student] AS A 3 inner JOIN [Junior] AS B ON B.ID=A.JuniorId
隨後以爲是自己寫錯了,查了好多地方沒有找到原因。後來找了大神一線碼農的關於Dapper的文章中提到了spliton的概念,其中講述了關於Dapper如何獲取實體的描述(如下這圖所示),才知道了有可能是字段順序出了問題。
隨後發現ID出現了最後一列,是由於當初在創建各個表的時候ID沒有設置自增,隨後又把列給刪了後重新使用 “alter table 表 add 列 int IDENTITY(1,1) NOT NULL” 新增了自增列。
隨後,將查詢條件給成如下結果才解決了這個問題。
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
這個問題確實比較簡單,出現的時候找了好久,記錄下來也給自己一個提醒。
文中參考鏈接: