我有以下命令:實體框架 - 使用一個查詢從表中加載包含1:1表的數據?
var query = from x in context.FirstTable.Include("SecondTable")
where x.TestColumn == 5 &&
x.SecondTable.SecondTestColumn == 3
select x;
現在我也想從一個名爲「ThirdTable」第三個表加載項。 但我只能通過SecondTable表引用它。有一個從FirstTable到SecondTable的外鍵和從SecondTable到ThirdTable的一個外鍵,但從FirstTable到ThirdTable都沒有。
使用以下查詢是不可能的。唯一的例外是,它不能從導航到FirstTable ThirdTable:
var query = from x in context.FirstTable.Include("SecondTable").Include("ThirdTable")
where x.TestColumn == 5 &&
x.SecondTable.SecondTestColumn == 3
select x;
或者我需要爲每一個結果集我從該查詢回做ThirdTable其他查詢?
非常感謝您提前!
克雷格斯頓茨:
我有以下外鍵:表1 < - >表2 < - >表3
假設表有以下幾種方式:訂單< - >客戶< - > customer_preferences
所以我不需要從訂單到customer_preferences創建一個外鍵。
大部分時間都沒有必要。就在這一次,我想安全一些額外的數據庫往返。
你有一個非常好的理由*沒有任何一端FKs? – 2010-07-08 19:54:43
我有外鍵,但從Table1到Table3的FKs在我看來是不必要的。請參閱我更新的帖子。或者你認爲我應該在訂單表中添加customer_preference_id? – Chris 2010-07-08 20:34:30
好吧,聽起來你有需要的FK。我會在下面回答。 – 2010-07-09 12:35:24