2014-10-09 55 views
3

我正在使用VS 2010與.Net版本4.0和EF版本5與現有數據庫。這是我第一個使用EF的項目,我正在努力處理實體關係。我有了被設置了這樣的事兩個表數據庫:非主鍵上的實體框架關係

Table Keys

我只是想加入他們的EF作爲一個一對多的關係連接上PART_SEQ_ID孤獨,這樣我可以使用LINQ來查詢。當我在模型視圖中進行連接時,EF會將其他關鍵字段添加到連接並猜測相關字段。如果我不參加表格,我得到一個錯誤的映射片段

問題起始於行294:否性能

和映射片段

問題指定的映射從行254開始:潛在的運行時違規表PARTDETAILS鍵

我做錯了什麼?我發現this SO post這表明這可能是不可能的。如果不可能,處理這種情況的最佳方式是什麼?

回答

2

我不認爲你會得到導航器來處理你的模式,因爲它是。要麼你會改變你的架構,以便每個表都有一個唯一的,不可改變的,單列主鍵,或者你會管理你的查詢聯接:到生成的SQL

from detail in partdetails 
join part in parts on detail.part_seq_id equals part.part_seq_id... 

關注並看看你的執行計劃確保你有所需的索引來有效地構建你的作品。

+0

謝謝@WinstonWolfIT。所以我應該可以將實體添加到edmx文件中,而無需任何連接,並在LINQ中進行連接? – mack 2014-10-10 19:31:23

+0

這是正確的。 – 2014-10-13 03:19:26