6

我在 Microsoft SQL Server 2008 R2 中有一个表,Page主键名为ID. 我有另一个名为Navigationcolumn 的表PageID。是对 的列的PageID唯一外键引用。这在和记录之间创建了一对一的关系。IDPageNavigationPage

从数据库生成模型时,它会创建一对多关系,其中 aPage包含Navigation记录列表。

这仅仅是实体框架检测到涉及外键并忽略数据库中列的唯一性吗?

PageID中列的 SQLNavigation是:

[PageID] INTEGER FOREIGN KEY REFERENCES [Page](ID) UNIQUE NOT NULL

ID中列的 SQLPage是:

[ID] INTEGER PRIMARY KEY IDENTITY(0, 1) NOT NULL

这是我最初的解决方案,这就是 Ladislav 提到的。

PageID中列的 SQLNavigation是:

[ID] INTEGER PRIMARY KEY FOREIGN KEY REFERENCES [Page](ID) NOT NULL
4

1 回答 1

6

实体框架还不支持唯一键,所以这个信息真的被忽略了,并且映射了一对多的关系。在 EF 中使用一对一关系的唯一方法是通过共享主键(导航的 ID 将 FK 到页面的 ID)。

于 2012-04-08T07:44:19.927 回答