C# 使用实体框架通过MSSQL数据库进行级联删除
我想从数据库中删除一个条目,但它说不能,因为另一个表引用了它的id。我要从中删除的表是:C# 使用实体框架通过MSSQL数据库进行级联删除,c#,asp.net,sql-server,database,entity-framework,C#,Asp.net,Sql Server,Database,Entity Framework,我想从数据库中删除一个条目,但它说不能,因为另一个表引用了它的id。我要从中删除的表是: Packages(packageID(PRIMARY), package_name, etc. . . .) 我要从中级联删除的表是 PackageVariant(packageID(FOREIGN), variantID(FOREIGN)) //those foreign keys combine to make PRIMARY composite key 从PackageVariant中删除条目时,
Packages(packageID(PRIMARY), package_name, etc. . . .)
我要从中级联删除的表是
PackageVariant(packageID(FOREIGN), variantID(FOREIGN)) //those foreign keys combine to make PRIMARY composite key
从PackageVariant中删除条目时,我希望级联删除关联的变体:
Variant(variantID(PRIMARY), variant_name, etc . . .)
这就是我想让瀑布飞到的地方
现在我有了一个实体框架模型设置和工作正常,我有了数据库设置和工作正常。那么,我该如何更改这两个或其中一个,从而使级联删除生效呢
我还制作了一个PackageVariantProduct数据库图
谢谢级联删除是根据数据库中的引用约束进行处理的,因此您只需将
on delete
规则设置为级联
。问题是级联只能从主体到依赖实体。因此,如果您希望从PackageVariant
中删除(甚至是级联删除)将删除包
或变体
,那么它将不起作用。如果您真的需要,就必须使用数据库触发器