簡體   English   中英

在實體框架EDMX中的視圖之間創建關聯時出錯

[英]Error Creating an Association between Views in Entity Framework EDMX

我有一個項目,其中我在EF5中使用視圖和存儲過程。 我在設計器中有一個帶有視圖的EDMX,並且嘗試跨兩個視圖手動創建PK和FK之間的關聯,這樣做時,我首先遇到以下錯誤:

錯誤5錯誤3027:未為以下EntitySet / AssociationSet-vw_borrowervw_borrower_extension指定映射

然后,如果我在關聯上進行表映射並選擇pk和fk,則會收到此錯誤:

錯誤5錯誤3007:映射從309、351行開始的片段時出現問題:[borrower_fk]列在兩個片段中都被映射到不同的概念性側面屬性。

在一個視圖中,主鍵名稱為借款人_pk,在相關視圖中,外鍵名為借款人_fk。

任何幫助將非常感激。

謝謝!

您必須使用外鍵關聯並將其映射為約束 目前,您極有可能嘗試映射獨立關聯,這在EDMX中是不可能的,因為獨立關聯已映射到其數據庫副本。 您的數據庫沒有這些關系,因此沒有在SSDL(EDMX的一部分,描述存儲模型)中進行描述,因此無法以這種方式進行映射。

如果您的實體不是只讀的(=您正在使用映射用於插入,更新和刪除操作的存儲過程),這仍然是非常危險的操作。 EF從SSDL決定修改操作的順序。 如果您的SSDL不知道該關系,EF將不會知道必須在子實體之前插入父實體,必須在子實體之前刪除子實體,依此類推。沒有任何參照約束,但是從以前的回答來看,它似乎只是按字母順序處理實體。

我最后要做的是在EDMX中刪除作為外鍵的字段,然后在創建關聯時讓它向實體添加外鍵屬性。 這消除了錯誤。 但是,這不是理想的解決方案。 迫不及待要獲得更好的代碼優先存儲過程支持的EF6。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM