2010-02-02 40 views
9

我有一個基於Sql Server 2008數據庫的Visual Studio 2008嚮導生成的實體框架模型。如何在實體框架中創建表和視圖之間的關係

該模型具有一個視圖,該視圖通過聯接表(通過插入/更新觸發器在數據庫中強制執行)在邏輯上與另一個表進行多對多關聯。這兩個表和視圖都是模型的一部分,但是因爲您不能在視圖上擁有外鍵約束,所以視圖和連接表之間沒有關係。

是否有可能在實體框架模型中爲連接表和視圖之間的鏈接創建關係?

謝謝你的幫助。

回答

16

是的,你可以做到這一點,但GUI設計師將無法爲你推斷它。

需要做的第一件事是configure the view correctly。設計師無法推斷出主鍵,因此您需要提供該信息。

您現在可以右鍵單擊設計器中的空白區域,然後選擇添加關聯。定義視圖和表之間的關聯,正確設置基數。

在EF 1中,您需要通過在設計器中選擇FK字段並按下刪除來從客戶端模式中刪除FK字段。這是因爲在EF 1中,不能將相同的字段映射到關聯和標量屬性。在EF 4中,如果使用FK關聯,則可以保留FK字段,也可以使用行爲類似EF 1的獨立關聯。

+0

非常感謝。 – Sako73 2010-02-02 15:41:32

+3

非常有幫助,在我的情況下,我還必須在關聯(EF 5)的屬性中設置引用約束。 – 2013-04-10 05:49:03

相關問題