加入我使用EF4多個左外與集合和EF4
var q = from a in FunctionA
from b in FunctionB.Where(a=>a.Id== b.Id).DefaultIfEmpty()
from c in FunctionC.Where(c=>c.Id== b.Id).DefaultIfEmpty()
select a;
其中泛函,FunctionB和FunctionC返回集合LINQ的聲明。有些數據條件,我得到一個空的異常,因爲在函數B.Where(a => a.Id == b.Id).DefaultIfEmpty()的b中的b的值有時爲null然後聲明「從FunctionC.Where(c => c.Id == b.Id).DefaultIfEmpty()中的c」爆炸,因爲b爲空。
什麼是做外部正確的方式在這裏加入?請幫忙 !
謝謝!
如果FunctionB與FunctionA和FunctionC獨立於FunctionB,那麼查詢將最有可能在DB中創建兩個CROSS JOINS,並且它將具有可怕的性能。 –