3
代码:DefaultIfEmpty()在LINQ to SQL加入导致重复
var cons = from c in dc.Consignments
join p in dc.PODs ON c.ID equals p.Consignment into pg
from p in pg.DefaultIfEmpty()
...(other joins)...
select new {
...
PODs = pg
...
}
基本上,我想选择每批货物一排,我要选择的对象“荚”,这应该是一个集合的PODs。这是有效的,但是我得到每一个POD的一行 - 所以如果我有一个寄售货物的3个POD,那么这个货物将返回3行。我是否错误地选择了POD?如果我拿走DefaultIfEmpty(),它奇怪地工作正常,不会导致重复。
奇妙的是,第二个应该没问题 - 只要我选择一行,我可以检查空条目 – Chris
@Chris:为什么检查空条目而不是检查集合是否为空? –