Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用实体框架通过MSSQL数据库进行级联删除_C#_Asp.net_Sql Server_Database_Entity Framework - Fatal编程技术网

C# 使用实体框架通过MSSQL数据库进行级联删除

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中删除条目时,

我想从数据库中删除一个条目,但它说不能,因为另一个表引用了它的id。我要从中删除的表是:

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
中删除(甚至是级联删除)将删除
变体
,那么它将不起作用。如果您真的需要,就必须使用数据库触发器