当所需的关系为空时,为什么EF Core会删除实体?

法兰西

我正在使用EF Core 3.1,并且有一个包含实体Contract和ContractType的模型。合同具有必填(不可为空)的ContractTypeId字段和ContractType导航属性。如果我从数据库中选择一个Contract对象,请确保将其ContractType加载到内存中(我使用延迟加载),然后将ContractType属性设置为null,该Contract对象在ChangeTracker中被标记为已删除(并且实际上已从DB(如果我调用SaveChanges)。

我了解这与Cascade删除行为的文档一致:

https://docs.microsoft.com/zh-cn/ef/core/saving/cascade-delete

我无法理解其背后的逻辑。如果您只是弄乱了必要的关系(由于我的代码中的错误导致导航属性被设置为null),EF决定删除您的主要实体(在本例中为Contract),这似乎很危险。我想念什么吗?也许这里真正的问题是为什么级联删除默认行为?

法兰西

根据EF团队的说法,这是设计使然,但可以通过将其设置DeleteOrphansTiming来更改Never

https://github.com/dotnet/efcore/issues/21840

删除行为也可以设置为除级联删除以外的其他方式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

EF Core>删除实体(软删除)>实体状态保持不变

来自分类Dev

EF Core - 为什么实体在应该是外键关系时被保存为新的数据库实体?

来自分类Dev

为什么在更新实体框架模型时Visual Studio会删除我的类

来自分类Dev

删除插件CRM Dynamics-删除实体时,关联的注释会自动删除吗?

来自分类Dev

软删除EF Core中的嵌套实体

来自分类Dev

删除核心数据实体时,是否会删除DocumentDirectory中的音频文件?

来自分类Dev

SDN4-更新关系实体的子代会导致关系被删除

来自分类Dev

实体框架5代码优先/必需和可选外键关系为空

来自分类Dev

什么会导致 ObjectMapper.Map 在服务中删除实体而不是更新?

来自分类Dev

为什么EF在分离时会删除子实体?

来自分类Dev

EF-从上级实体删除关系

来自分类Dev

转换为JSON时为什么会转义相关实体?

来自分类Dev

删除引用实体时删除实体

来自分类Dev

为什么实体框架会自动加载相关实体

来自分类Dev

为什么实体框架会自动加载相关实体

来自分类Dev

.NET Core 3 EF中不存在没有联合实体的MN关系,也没有关于为什么的文档

来自分类Dev

定义实体之间的主键关系时,EF Core 3.1将创建名称为“ 1”的重复列

来自分类Dev

为什么删除时FileZilla会进入目录?

来自分类Dev

为什么删除项目时默认属性会访问 setter

来自分类Dev

当我尝试关联现有实体时,为什么实体框架会创建一个新实体?

来自分类Dev

当所需的模式存储在变量中时,为什么“匹配?”会减少其匹配案例?

来自分类Dev

实体框架中的一对多关系:为什么外键值为空?

来自分类Dev

删除与EF6有多对多关系的实体记录

来自分类Dev

删除与EF6有多对多关系的实体记录

来自分类Dev

EF Core 5,删除多对多关系

来自分类Dev

为什么EF Core一对多关系集合返回null?

来自分类Dev

关系为空时,JPA规范不起作用

来自分类Dev

EF Core - 实体映射配置

来自分类Dev

为什么要保持项目依赖关系为最新?

Related 相关文章

  1. 1

    EF Core>删除实体(软删除)>实体状态保持不变

  2. 2

    EF Core - 为什么实体在应该是外键关系时被保存为新的数据库实体?

  3. 3

    为什么在更新实体框架模型时Visual Studio会删除我的类

  4. 4

    删除插件CRM Dynamics-删除实体时,关联的注释会自动删除吗?

  5. 5

    软删除EF Core中的嵌套实体

  6. 6

    删除核心数据实体时,是否会删除DocumentDirectory中的音频文件?

  7. 7

    SDN4-更新关系实体的子代会导致关系被删除

  8. 8

    实体框架5代码优先/必需和可选外键关系为空

  9. 9

    什么会导致 ObjectMapper.Map 在服务中删除实体而不是更新?

  10. 10

    为什么EF在分离时会删除子实体?

  11. 11

    EF-从上级实体删除关系

  12. 12

    转换为JSON时为什么会转义相关实体?

  13. 13

    删除引用实体时删除实体

  14. 14

    为什么实体框架会自动加载相关实体

  15. 15

    为什么实体框架会自动加载相关实体

  16. 16

    .NET Core 3 EF中不存在没有联合实体的MN关系,也没有关于为什么的文档

  17. 17

    定义实体之间的主键关系时,EF Core 3.1将创建名称为“ 1”的重复列

  18. 18

    为什么删除时FileZilla会进入目录?

  19. 19

    为什么删除项目时默认属性会访问 setter

  20. 20

    当我尝试关联现有实体时,为什么实体框架会创建一个新实体?

  21. 21

    当所需的模式存储在变量中时,为什么“匹配?”会减少其匹配案例?

  22. 22

    实体框架中的一对多关系:为什么外键值为空?

  23. 23

    删除与EF6有多对多关系的实体记录

  24. 24

    删除与EF6有多对多关系的实体记录

  25. 25

    EF Core 5,删除多对多关系

  26. 26

    为什么EF Core一对多关系集合返回null?

  27. 27

    关系为空时,JPA规范不起作用

  28. 28

    EF Core - 实体映射配置

  29. 29

    为什么要保持项目依赖关系为最新?

热门标签

归档