entity-framework - Entity Framework 和更新级联

标签 entity-framework foreign-key-relationship cascade navigation-properties

到这里有点郁闷。我正在尝试找到一种方法来支持 Entity Framework 的更新级联,但似乎没有内置方法。网上的研究基本上表明每个人都说无论如何你都不应该更改主键值,但是在某些情况下你需要这样做(例如,UPC 值作为主键,并且 UPC 条形码现在变得越来越大,这意味着更新现有的并保持适当的外键关系)。

一种方法显然是利用 SavingChanges 事件,查看主键字段是否正在更改,如果是,则遍历导航属性并以这种方式更新子表。

这在理论上是可行的。但这听起来很麻烦。有人有更好的主意吗?无法相信比尔会因为大多数人不这样做而将这些东西排除在框架之外。 SQL Server 仍然支持它...

谢谢!

最佳答案

您不能直接通过 EF 更改主键。问题是 EF 在主键 = x 处进行了更改。所以你不能改变 x。

您可以从 EF 执行一个存储过程来更新主键。

在您使用条形码的情况下,我将有一个主键,它是一个自动递增数字,然后一个条形码作为具有唯一索引的不同字段。

关于entity-framework - Entity Framework 和更新级联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4139802/

相关文章:

mysql - 我无法将外键指向日期时间字段类型

sql-server - 几个外键和级联删除SQL Server

javascript - 如何删除MongoDB中的文档和所有嵌入文档?

c# - Entity Framework 时间跨度 - 时间错误

c# - 在 Entity Framework 中使用存储过程(代码优先)

c# - Entity Framework 代码首先为正数添加约束

database - 删除级联不适用于 sqlite

c# - Winform 与 EF Code First 和 Mysql

django - 与 django 的一对多关系

更新/删除空字段时Mysql级联