我有兩個位於兩個分開的實體框架模型的表,我想檢索兩個表之間的JOIN數據。我正在使用實體框架3.1。實體框架中的兩個模型的實體之間的聯接
是否有可能檢索兩個表之間進行聯接的信息?
如果是,我應該使用「LINQ to Entities」還是「Entity SQL」?
我有兩個位於兩個分開的實體框架模型的表,我想檢索兩個表之間的JOIN數據。我正在使用實體框架3.1。實體框架中的兩個模型的實體之間的聯接
是否有可能檢索兩個表之間進行聯接的信息?
如果是,我應該使用「LINQ to Entities」還是「Entity SQL」?
據我所知,EF不會這樣做。您不能用來自多個域的實體創建單個表達式。當您請求結果的第一項時,它會失敗。
實體框架模型是數據庫(商店)模型和類模型之間的映射。目前(如果有的話),一個EF模型不能讀取另一個模型的映射信息。所以它不能將一個外部類映射到表中,更不用說創建涉及該表的SQL。就EF而言,這些表格可能有兩個完全不同的數據庫。
備選方案:
ToList()
。Contains
語句中使用的OrderId
s的列表,該模型從另一個模型獲取Orderline
- 不切實際的示例,OK)。你可能已經想通了這一點現在,但這裏是我的解決方案:
var data = db.FirstEntity
.Join(db.SecondEntity, ent1 => ent1.ID, ent2 => ent2.ForeignKeyID,
(ent1, ent2) => new { LeftSideObject = ent1, RightSideObject = ent2 })
.Select(x => x.LeftSideObject);
我有一個名爲變量,一般我所能,希望這是有道理的!
問題是關於不同的模型,而不僅僅是不同的實體。而對於實體,您可以使用導航屬性而不是連接。 – 2015-06-08 03:19:04