我一直试图在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;
这样我就不知道“计数器”表中哪些行没有读数表的相应行。
我如何使这项工作?
答案 0 :(得分:0)
听起来您根本不想添加from x in gj.DefaultIfEmpty()
,而是希望让左表中的每个项目与右表中的组项目配对(该组可能包含零元素,这是您在没有匹配项时知道的方式),这正是您删除该行时获得的行为。