【问题标题】:Why is a self-referential foreign key not brought in as a Navigation Property为什么不作为导航属性引入自引用外键
【发布时间】:2012-08-06 22:09:54
【问题描述】:

我们有一个表,其中包含一个返回到自身的 FK。

Jobs.SecondaryJobKey 是同一表中 Jobs.Key 的 FK。

创建此 FK 后,我们在设计器中执行了“从数据库更新...”(是的,我知道,我们想先移动到代码但还没有)关联没有创建,所以当然也没有导航属性。

这是创建 FK 的 T-SQL:

ALTER TABLE [dbo].[Jobs]  WITH CHECK ADD  CONSTRAINT [FK_Jobs_SecondaryJobKey] FOREIGN KEY([SecondaryJobKey])
REFERENCES [dbo].[Jobs] ([Key])

为什么会发生这种情况?我们是否违反了一些未知的规则?

【问题讨论】:

  • FK 到底长什么样?当您生成新模型时,是否存在关联?输出窗口中是否有一些消息?
  • 尝试从 edmx 中删除您的表,然后重新添加。一个简单的“刷新”edmx 可能不起作用。为了快速参考,我已将 Northwind DB 的 Employee 表添加到 edmx 中,并且自引用关联就在那里。
  • @cincura.net 不,我试图创建一个新模型并添加一个表,但没有引入 assoc。我在上面编辑了 FK 创建。输出窗口中没有任何内容。
  • @xeondev 我试图删除和读取。我还尝试创建一个全新的模型并添加。没有引入任何关联。

标签: .net entity-framework entity-framework-4 linq-to-entities


【解决方案1】:

看起来这应该在为测试而创建的干净数据库中正常工作。有问题的数据库似乎存在某种类型的损坏,使我们无法正确添加 FK.... 我希望这会使 EF 无法看到它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-04
    相关资源
    最近更新 更多