两个linq查询结果的差异

本文关键字:结果 linq 查询 两个 | 更新日期: 2023-09-27 18:17:41

我想知道为什么这两个查询返回不同的结果。

这个查询返回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();

两个linq查询结果的差异

我相信b中有一些空值。ab的不同之处是,a使用SQL的COUNT忽略空值,而bCount()包括空值和非空值。