【发布时间】:2019-01-10 17:49:16
【问题描述】:
我想在 ASP.NET 4.6.1 MVC 项目中进行 Cascade 删除,
这是数据库第一个项目,但级联删除不起作用。
我收到此错误:
操作失败:无法更改关系,因为一个或多个外键属性不可为空。
对关系进行更改时,相关的外键属性将设置为空值。
如果外键不支持...
我有两张桌子:
类别:
Category_ID
Category_Name
文章:
Article_ID
Article_Name
Article_Content
Category_ID which is Foreign key
这是我要删除的代码:
var context = new DbContext();
Category category = context.Category.First(c => c.CategoryID == catID);
if (category != null)
{
context.Category.Remove(category);
context.SaveChanges();
}
【问题讨论】:
-
您需要向我们展示您的表格/代码,以便我们为您提供帮助。但是错误消息非常明显,您有一个不可为空的外键关系。所以如果你删除记录,外键关系就会失效。
-
我编辑了我的问题,但为什么级联删除不起作用
-
但是当我删除该类别时,我想删除与特定类别相关的所有文章!!!
-
不,是Database First,我的问题标题是Database First
-
你能改变你的数据库架构吗?喜欢为您的 FK 添加“ON DELETE CASCADE”吗?
标签: c# asp.net-mvc entity-framework