[英]Database first Entity Framework mapping unique foreign keys as one to many
我在 Microsoft SQL Server 2008 R2 中有一個名為Page
的表,其主鍵名為ID
。 我有另一個名為Navigation
的表,其中有一列PageID
。 PageID
是對Page
的ID
列的唯一外鍵引用。 這在Navigation
和Page
記錄之間創建了一對一的關系。
從數據庫生成模型時,它會創建一對多關系,其中Page
包含Navigation
記錄列表。
這僅僅是實體框架檢測到涉及外鍵並忽略數據庫中列的唯一性嗎?
Navigation
中PageID
列的 SQL 是:
[PageID] INTEGER FOREIGN KEY REFERENCES [Page](ID) UNIQUE NOT NULL
Page
中ID
列的 SQL 是:
[ID] INTEGER PRIMARY KEY IDENTITY(0, 1) NOT NULL
這是我最初的解決方案,這就是 Ladislav 所提到的。
Navigation
中PageID
列的 SQL 是:
[ID] INTEGER PRIMARY KEY FOREIGN KEY REFERENCES [Page](ID) NOT NULL
實體框架尚不支持唯一鍵,因此實際上忽略了此信息,並映射了一對多關系。 在 EF 中使用一對一關系的唯一方法是通過共享主鍵(導航的 ID 將是 FK 到頁面的 ID)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.