Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.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# “错误”;System.Data.Entity.Infrastructure.DbUpdateException“;ef6中启用触发器后_C#_Entity Framework_Triggers - Fatal编程技术网

C# “错误”;System.Data.Entity.Infrastructure.DbUpdateException“;ef6中启用触发器后

C# “错误”;System.Data.Entity.Infrastructure.DbUpdateException“;ef6中启用触发器后,c#,entity-framework,triggers,C#,Entity Framework,Triggers,通过执行该命令,我可以毫无问题地删除表中的行 using (var context = new SamenEntities()) { var person = context.regs.Where(c => c.code == ID).FirstOrDefault(); if (person != null) { context.regs.Remove(person); context.SaveChanges(); c

通过执行该命令,我可以毫无问题地删除表中的行

using (var context = new SamenEntities())
{
    var person = context.regs.Where(c => c.code == ID).FirstOrDefault();
    if (person != null)
    {
        context.regs.Remove(person);
        context.SaveChanges();
        clearformsearch();
    }
}
现在我想激活数据库中的以下触发器:

    USE [Samen]
GO
/****** Object:  Trigger [dbo].[delete_after_project]    Script Date: 9/11/2018 12:46:09 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER TRIGGER [dbo].[delete_after_project]
ON [dbo].[reg]
AFTER Delete
AS 
BEGIN   
SET NOCOUNT ON;
DECLARE @C_ID AS int
SELECT @C_ID = code FROM deleted 
DELETE FROM project
WHERE id_person = @C_ID
END
激活触发器后,我在SaveChange中收到以下错误:

System.Data.Entity.Infrastructure.DbUpdateException:“更新条目时出错。有关详细信息,请参见内部异常 细节。”


…那么什么是内部异常呢?@PaulAbbott,
SqlException:EXECUTE之后的事务计数表示BEGIN和COMMIT语句的数量不匹配。上一次计数=1,当前计数=0。
复制触发器时是否关闭了
结束
,或者触发器是否确实丢失了?为什么没有级联删除?级联删除时+1。关于该错误,我怀疑触发器可能引发异常,导致EF事务无法成功完成。避免触发,并将DB&EF关系设置为在删除时级联。