联接查询返回空结果
本文关键字:结果 返回 查询 | 更新日期: 2023-09-27 18:36:38
我正在尝试使用以下代码将几个表连接在一起
var result = (from n in db.tbl_NAWs
join s in db.Status on n.Status equals s.StatusID
join a in db.tbl_Afdelings on n.Afdeling equals a.ID_Afdeling
join l in db.Locaties on n.Locatie equals l.LocatieID
select new NAW_Dto()
{
ClassNR = n.ClassNr,
Status = s.Beschrijving,
Client = n.Aanspreekvorm,
Locatie = l.Naam,
Afdeling = a.Afdeling,
KamerNr = n.Kamernummer
}).ToList();
但它一直空着返回,有什么想法吗?
试试这样的事情....
var result = (from n in db.tbl_NAWs
join s in db.Status on n.Status equals s.StatusID
join a in db.tbl_Afdelings on n.Afdeling equals a.ID_Afdeling
join l in db.Locaties on n.Locatie equals l.LocatieID
select new
{
ClassNR = n.ClassNr,
Status = s.Beschrijving,
Client = n.Aanspreekvorm,
Locatie = l.Naam,
Afdeling = a.Afdeling,
KamerNr = n.Kamernummer
}).ToList();
运行 Sql 探查器,检查正在执行的实际 SQL 查询是什么,并查看数据。
无法在不查看数据的情况下判断为什么结果集为空。您的外键设置方式是否与您认为的相同?
尝试在删除一些联接的情况下执行此查询 - 您将能够以这种方式找到有问题的联接。
将其分解为 TSQL 并在 SSMS 中运行它一次删除一个注释,看看哪个不匹配
select n.ClassNr
-- , s.Beschrijving
-- , a.Afdeling
-- , l.Naam
from tbl_NAWs as n
-- join Status as s on n.Status equals s.StatusID
-- join tbl_Afdelings as a on n.Afdeling equals a.ID_Afdeling
-- join Locaties as l on n.Locatie equals l.LocatieID