實體框架神奇地將下表結構解釋爲多對多關係。實體框架中與代理鍵的多對多關係
table foo (int id)
table foo_bar (int foo_id, int bar_id)
table bar (int id)
但是,如果連接表有任何附加字段,它將被解釋爲兩個一對多關係。
我正在使用連接表具有代理鍵作爲主鍵的數據庫。因爲這個EF將其解釋爲兩個一對多的關係。
table foo (int id)
table foo_bar (int surrogate_pk, int foo_id, int bar_id)
table bar (int id)
是否可以修改EF:s解釋使其成爲模型中的實際多對多關係?可以使用設計師來完成嗎?
代理鍵沒有真正的興趣,所以這將很好地工作。從模型中刪除字段似乎沒有任何區別。它可以被排除在一個更確定的方式或東西? – 2009-02-16 20:55:42
在設計器中刪除代理鍵不會將其從存儲模型中刪除。你必須手動編輯EDMX。 – 2009-02-16 21:29:16