2016-03-31 60 views
0

我對於使用EF很新穎。如何在Entity Framework 6中正確定義關聯 - 數據庫優先?

我有一些問題可能是非常基本的。

我有一個數據庫,從這個數據庫我生成我的對象模型(數據庫第一)。

當對象模型生成完成後,雙擊我的.edmx文件並獲得我的表及其關聯的完整概述。

我的問題是,所有的關聯都是1 *。一些關係需要例如1到0-1,

我的問題是:我如何確定實體框架是用正確的關聯生成的?我想這必須以某種方式在創建表的sql中定義?

此刻我需要重新配置所有關聯每次我從數據庫更新模型,因爲它會創建錯誤的關聯。

回答

1

確保您的關係設置正確。我更喜歡在SQL Server Management Studio中創建數據庫圖表來檢查和管理表關係。

如果我曾調整數據庫表中的關係或列並需要更新模型,我將從.edmx文件中刪除該表,然後將其添加回來。在你的情況下,它聽起來像一切都是錯誤的,所以我會刪除.edmx文件中的所有內容,並添加適當關係的表格。

+0

嗨,感謝您的解釋和建議。我將嘗試在SQL Server Management Studio中執行此操作。儘管John Hartsock也給出了非常好的解釋,但我會將其標記爲答案,因爲你是第一個寫作的人。 – Diemauerdk

1

有幾種類型的關聯,如果您的工作數據庫首先那麼您的數據庫正在控制關聯。以下是一些。

  • 1比0或多個: 當你創建一個外鍵的字段
  • 1〜0..1這個構造: 當您創建之間的外鍵此構造兩個主鍵
  • 多對多: 這是在構建包含僅兩個表中的主鍵的真正關聯表時構建的。

我只能從你的描述中假設EF沒有像你期望的那樣產生關係,因爲你的外鍵沒有準確設置。

+0

非常感謝您的解釋。這很有幫助。 – Diemauerdk

相關問題