2015-11-19 71 views
1

我對EF很新,所以請耐心等待。我有3個表CustomerTable,ProductTable和OrdersTable。實體框架 - 3個表格,但只有2個顯示

OrdersTable的主鍵分別是CustomerTable和ProductTable主鍵的組合,分別是CustomerID和ProductID。

OrdersTable中只有2列這是客戶ID和產品ID

在EF模型,我已經添加了所有3個表,但在OrdersTable中EDMX沒有顯示。

因此,我的一個朋友告訴我第三個表OrdersTable是一個「複合」表,因爲它同時具有CustomerTable和ProductTable的主鍵。

所以我現在的問題是,簡單來說,是什麼使這個給定的場景組合表?

我想查詢/獲取OrdersTable的所有內容,但我被告知必須先通過CustomerTable或ProductTable。

我做了使用linq到sql,所以CustomerTable可以看到ProductTable,反之亦然,因爲導航屬性,但我看不到OrdersTable。

這樣做的簡單方法是什麼?爲什麼?

回答

0

這是實體框架的已知缺陷,組合鍵將轉換爲特殊關聯,而不是表格或模型。一個簡單的解決方法是創建一個包含3個字段的新表。第一個字段(Id)設置爲主鍵,另外兩個字段爲CustomerID和ProductID,並且您必須通過使用您的代碼而不是數據庫系統本身來維護數據庫的完整性...