0
我在實體框架中發現「包含」的問題。讓我們假設我有兩個外鍵關係的表。未收到包含對象的數據 - 實體框架
var result = (from u in entity.Table1.Include("Table2")
join o in entity.Table2 on u.Column1 equals o.Column1
where u.Column2 == 「abc」 && u.Column3 == ‘xyz’
&& o.Column5 == organizationCode
select u).FirstOrDefault();
對於上述查詢,即使我在數據庫中有適當的數據,它也不會返回結果中的Table2對象數據。
我發現上述查詢的問題是,如果查詢有「包括」以及「加入」,EF不考慮「包含」表。這是我的假設。
花了一些時間後,我通過在下面寫了一個虛擬查詢來獲得數據。請參閱下面的兩個查詢。
var result = (from u in entity.Table1.Include("Table2")
join o in entity.Table2 on u.Column1 equals o.Column1
where u.Column2 == 「abc」 && u.Column3 == ‘xyz’
&& o.Column5 == organizationCode
select u).FirstOrDefault();
var resultOrg = (from o in entity. Table2
where o.Column5 == organizationCode
select o).FirstOrDefault();
執行這兩個查詢後,我在結果變量中獲取Include(Table2)數據。在這種情況下,我正在執行一個我想避免的查詢。
請建議我在哪裏做錯了。