当前位置: 首页 > 知识库问答 >
问题:

是否删除EF上的一个带有级联中断的项目?

岳嘉悦
2023-03-14

下面是我的代码:

medical.Clinics.Remove(clinic);

但当我触发它时,有时它会向我显示:关系无法更改,因为一个或多个外键属性是不可为空的。当对关系进行更改时,相关的外键属性将设置为null值。如果外键不支持空值,则必须定义新的关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。

为什么?我只是想删除一个医疗和诊所之间的关系,就是这张表:

我不能创建对象ClinicsMedicals(作为DB中表的名称),因为我不能在EF模型上下文中“导入”它。

正确的方法是什么?

共有1个答案

姚丰羽
2023-03-14

错误消息不是暗示clinicsmedicals.clinicid应该是可为空的吗?可能您的外键关系在删除时具有设置NULL的操作,您可能希望将其更改为Cascade。这样,删除clinics记录就会删除连接到该特定项目的所有clinicsmedicals记录。

 类似资料:
  • 我需要了解全局禁用EF Core 2中级联删除的方法。感谢您的帮助。 在EF 6. x中,我们使用以下代码来禁用和实现上的级联删除:

  • 我目前对EF Core有一些问题。我有一些需要删除的数据,我正在努力查看流畅的API是如何工作的,正是关于函数。 考虑到微软自己网站的经典博客/帖子场景,我想知道到底是什么实体,OnDelete()是“目标”(因为没有更好的词),在某些情况下,它似乎是博客,在另一些情况下,是帖子。是否可以从两侧定义级联删除(即当父博客被删除时,帖子被删除),如果是这样,我认为代码应该如下所示: <代码>模型。实体

  • 我有一个使用ef核心代码优先方法构建的项目的审计机制。我已经在“OnModelCreating”函数中为一些表设置了“deleteBhavior”属性以级联。当我删除一个实体时,另一个实体会通过级联删除行为自动删除。现在一切都很好,我需要获取所有已删除的实体,但我不能。ChangeTracker不包含级联删除的实体。如何获取级联删除的值?有没有办法做到这一点?

  • (示例代码张贴在末尾。) 我正在使用EF Core 5数据库优先(即逆向工程POCO)。当使用,后续的抱怨孤儿。是的,很多问 对于代码优先方案,可以将其添加到配置中(从这里): 但首先对DB来说是不现实的。如果数据库为FK关系(此处的文档引用)设置了级联删除,则生成的模型[更正]不包括 并且删除(使用)确实有效,包括。但是... 我在这里面临的问题是,这个“解决方案”要求我们的所有FK关系都在数据

  • 我有一个地址模型,它适用于我系统中的所有模型,如下所示: 在OnModelCreating中: 它的工作非常好!我唯一的问题是关于级联删除。如何设置此方案: 删除某人时,级联删除PersonalAddress和Addresses 删除地址时,级联删除PersonalAddress而不是Person 目前我看到删除Person会删除Person地址(但不会删除相关地址)。 我并不是在抱怨这种行为,但

  • 我试图通过联接表的一个外键级联删除联接表中的行,它有另一个与之相关的表,我也想删除与此ID相关的所有行。看起来像下图。当我使用会话时。使用hibernate删除(reqCandObject)它工作正常,并通过从候选jobReq表中删除一个条目以及相关注释进行级联。但是,我想删除所有具有特定候选ID的候选项(并删除注释)。我尝试了下面的函数,但与nice hibernate不同。删除(对象)函数,此