簡體   English   中英

實體框架6將現有的復雜類型添加到鍵列

[英]Entity Framework 6 add existing complex type to key columns

我正在使用使用數據庫優先方法構建的EF 6進行項目。 有幾個表以前具有將3個相同的屬性映射到復雜類型(在整個代碼中的多個地方使用)。 這些屬性被指定為“外鍵”列,盡管它們的父子關系從未在數據庫中定義。

最近,一位同事審閱並正式定義了SQL Server中FK及其父表之間的關系。 我現在正在嘗試更新實體模型(從數據庫更新),並且沒有出現新的關聯。 我已采取從模型中刪除表並重新添加它們的方法。 現在,它們顯示了正確的關聯。

但是,到復雜類型的映射已消失。 當我嘗試將其重新添加時,更新的映射將破壞這些屬性上的關聯(保存時出現模型錯誤)。 我知道,復雜類型不支持關聯。

是否建議先刪除列的關聯,然后再將其重新映射為復雜類型? 即使列在實體上不可見,EF也會觀察基本的鍵關系嗎?

雖然我仍然想獲得關於我的問題的一些反饋,但是這是我為解決問題所做的工作。

1)從數據庫中刪除和重新添加表時,刪除了EF生成的關聯。 請注意,這些關系僅適用於將由復雜類型替換的外鍵字段。

2)按照MS步驟(在此處找到)將必需的鍵屬性重構為復雜類型

3)可選:我有必要直接將EDMX編輯為XML,以刪除一些設計師無法修復的纏綿關聯。

到目前為止,我的模型已按預期運行。 我相信在CRUD操作期間會觀察到FK關系。

暫無
暫無

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

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