DefaultIfEmpty返回空行

时间:2014-05-08 18:42:57

标签: c# linq join entities defaultifempty

我一直试图在LINQ to Entities中执行左连接类型的表达式,但是DefaultIfEmpty方法的工作方式与我的预期不同 - 它为每个没有的CounterNo返回一个空行在读数表中匹配。

var leftjoin = from counter in database.Counters
               join reading in database.Readings
               on counter.CounterNo equals reading.CounterNo into gj
               from x in gj.DefaultIfEmpty()
               select x;

这样我就不知道“计数器”表中哪些行没有读数表的相应行。

我如何使这项工作?

1 个答案:

答案 0 :(得分:0)

听起来您根本不想添加from x in gj.DefaultIfEmpty(),而是希望让左表中的每个项目与右表中的项目配对(该组可能包含零元素,这是您在没有匹配项时知道的方式),这正是您删除该行时获得的行为。