pt
和emod
是返回tElementRowValuesDBModel
型無論是在內存中的查詢。直到此陳述出現之後,兩者纔會執行。LINQ查詢左連接多個列與空檢查失敗
如果我單獨調試並查看返回的結果,則成功運行並返回值。
我可以使用Except
或not in
子查詢,當然!但我只是想了解這是一個錯誤還是有解決方法。
奇怪的是,如果我刪除的tempe
對象的任何引用,一切運行正常。 我錯過了什麼嗎?
var RealNewNodes = from p in pt
join e1 in emod on new{X1 = p.tElementRowsDBModelID, X2 = p.tAttributesDBModelID, X3 = p.AttributeValue} equals new {X1 = e1.tElementRowsDBModelID, X2 = e1.tAttributesDBModelID, X3 = e1.AttributeValue } into tempt
from tempe in tempt.DefaultIfEmpty()
where tempe == null //if i remove this line, works OK
select new tElementRowValuesDBModel{
tElementRowsDBModelID = p.tElementRowsDBModelID,
tAttributesDBModelID = p.tAttributesDBModelID,
AttributeValue = p.AttributeValue,
ID = (tempe!=null ? 1 : 0)//if i remove this line, works OK
};
以何種方式是失敗的? –
@RomanoZumbé對象引用未設置爲對象的實例 –
此EF Core?如果是,什麼版本? –