两个linq查询结果之间的差异

时间:2014-08-11 14:20:54

标签: c# linq

我想了解为什么这两个查询会返回不同的结果。

此查询返回6:

var a = (from belg in contextArchive.Belgeler
         join zrf in contextArchive.Zarflar on belg.Parent_ID equals zrf.ID
         where belg.RefETTN == this.BelgeETTN
         select new { zrf }).Count();

此查询返回3:

var b = (from belg in contextArchive.Belgeler
         join zrf in contextArchive.Zarflar on belg.Parent_ID equals zrf.ID
         where belg.RefETTN == this.BelgeETTN
         select new { zrf }).ToList();

countKabulRed = b.Count();

1 个答案:

答案 0 :(得分:0)

我相信b中有一些空值。 ab之间的不同之处在于a使用SQL的COUNT来忽略空值,而b的{​​{1}}包含null和非null值