![](/img/trans.png)
[英]Entity Framework doesn't want to remove rows in table with many-to-many relationship
[英]How do you create a many-to-many relationship in Entity Framework if the database doesn't have a linking table?
我正在使用VS 2010 Entity Framework設計器來修改從數據庫自動生成的一些實體。
數據庫結構由我正在構建UI的產品定義,因此我無法對其進行修改。
數據庫具有多表關系的表,這些表純粹基於兩個表上非鍵列中的公共值。
換句話說,用戶配置文件只是用戶到SecurityProfiles的映射的名稱。
該向導為Users和SecurityProfile表創建了實體。 我創建了一個名為UserProfile的新實體,其中包含一個關鍵字段: userProfile 。
我創建了一個從UserProfile到User以及從UserProfile到SecurityProfile的一對多關聯。 這一切都很好,除了UserProfile實體沒有表映射,因此它不會編譯。
如何在Entity Framework中創建此關聯?
更新:
如果不可能使用EF(如第一個答案所建議的那樣),是否可以手動創建一個非綁定實體,我可以用它來鏈接這兩個實體,這樣我就可以暴露一個至少更容易一點的對象模型導航?
即我將使User和SecurityProfile實體抽象並手動定義這些實體的擴展,並指向我手動創建的UserProfile實體的相應屬性
你不會。 EF無法與數據庫中不存在的多對多關聯一起使用。 EF要求與數據庫具有相同的引用完整性 - 在這種情況下,它要求連接表存在並映射到圖中使用的關聯。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.