提问者:小点点

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


下面是我的代码:

medical.Clinics.Remove(clinic);

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

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

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

正确的方法是什么?


共1个答案

匿名用户

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