【问题标题】:circular dependency in entity framework实体框架中的循环依赖
【发布时间】:2014-02-18 20:11:59
【问题描述】:

是否可以保存具有循环依赖的模型?

我对我的数据库进行了非规范化:

用户 -------- 用户身份 用户名 LastOrder - 到最后一个订单 命令 -------- 订单编号 订单名称 用户身份 订购日期

是否可以使用 entityFramework 来保存这样的东西?

我应该改变什么才能让它工作,因为现在我遇到了错误:

无法确定相关操作的有效顺序。 由于外键约束,模型可能存在依赖关系 需求或存储生成的值。

【问题讨论】:

  • 最后一个订单不是按时间降序排列的匹配用户id的第一个订单吗?如果您有用户 ID 和订单日期的索引,我认为您可以不使用 FK。
  • 简化了,在我的真实应用中我想要那个参考,有可能实现吗?
  • 是 LastOrder 是 OrderId
  • id 有 1 个 FK 引用或其他,我不会同时拥有这两个,因为这似乎违反直觉
  • Order 已将 FK 传递给用户 -> 自然用户已将 fk 传递给 Order -> 不自然但在我的情况下很有用。有可能这样保存吗?感谢您的帮助

标签: c# .net entity-framework-4


【解决方案1】:

我有一个与自身有关系的表,我遇到了同样的错误。原来外键必须是可空的。 Same table relationship in Entity Framework 我希望这能比我浪费的时间节省更多的时间。

【讨论】:

  • 也节省了我很多时间。谢谢!有谁知道为什么会这样?为什么外键必须可以为空?
  • @Adam - 我猜这是允许您将第一行插入表中。 (不会有其他记录可以链接)
  • 感谢您的回答。在我将外键设置为可为空后,我不得不将我的关系从 1 更改为 0..1 以防止出现“多重性无效”错误,但现在一切运行顺利。
  • 嗯,这对于所要求的循环引用不起作用,但很高兴知道。
猜你喜欢
  • 2017-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-23
  • 1970-01-01
  • 1970-01-01
  • 2018-12-14
相关资源
最近更新 更多