我有两个相同的数据表,即两个都有一个名为EventId
的列作为主键。
第一个数据表(FilteredEvents
)包含所有事件,即我不需要的事件以及我需要的事件。
第二个数据表(EventToBeCreated
)包含需要创建的事件。
以下是一个例子:
FilteredEvents
包含ID:
1 2 3 4 5
EventToBeCreated
包含ID:
1 2 3 4
在此示例中,正确的结果为5
,与FilteredEvents
中的结果相同,但不在EventToBeCreated
中。
这个SQL查询可以满足我的需要,但我需要LINQ等价物:
SELECT Event_Filtered.EventID
FROM Event_Filtered
LEFT OUTER JOIN Event_ToBeCreated
ON Event_Filtered.EventID = Event_ToBeCreated.EventID
WHERE (Event_ToBeCreated.EventID IS NULL)
答案 0 :(得分:0)
您没有提供实体详细信息和其他必需信息,它应该是这样的;
var query = from ef in yourContext.Event_Filtered
join et in yourContext.Event_ToBeCreated on ef.EventID equals et.EventID into ps
from ps in ps.DefaultIfEmpty()
where et.EventID == null
select ef.EventID