Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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
Sql server 实体框架-同时更新和删除_Sql Server_Entity Framework - Fatal编程技术网

Sql server 实体框架-同时更新和删除

Sql server 实体框架-同时更新和删除,sql-server,entity-framework,Sql Server,Entity Framework,我想在实体框架中同时更新和删除记录 我们可以这样做吗?还是直接的方法,先更新记录,然后删除 我的设想: 我想删除一条记录。在删除该记录之前,我想添加一条注释(在我的表中是列),为什么要删除该记录 如果你认为,为什么我们在删除记录的同时还要添加注释,下面是我们正在做的 若对该记录进行了任何更改,则会有一个触发器在审核表中创建日志记录。所以,我们想把这条评论记录下来 使用两个命令进行更新和删除时,我唯一关心的是它将创建两个日志记录。无论是否使用Entity Framework,在SQL Server

我想在实体框架中同时更新和删除记录

我们可以这样做吗?还是直接的方法,先更新记录,然后删除

我的设想:

我想删除一条记录。在删除该记录之前,我想添加一条注释(在我的表中是列),为什么要删除该记录

如果你认为,为什么我们在删除记录的同时还要添加注释,下面是我们正在做的

若对该记录进行了任何更改,则会有一个触发器在审核表中创建日志记录。所以,我们想把这条评论记录下来


使用两个命令进行更新和删除时,我唯一关心的是它将创建两个日志记录。

无论是否使用Entity Framework,在SQL Server中,您都无法在同一操作中更新记录并同时删除它。当然可以在同一事务的上下文中更新并删除它,但这仍然是两个单独的SQL操作,您的日志触发器将同时触发


如果可以修改日志记录,您可能会编写带有特殊逻辑的触发器代码,以确保只有一个日志条目,但您必须在该级别而不是数据库操作级别对其进行处理。

我不确定此触发器是如何工作的,但是,您不能在这个特定实例中过滤掉由于删除而导致的日志吗?这样,您仍然可以使用两个命令,但只记录更新。或者,您可以调用存储过程进行删除,这将删除记录并使用注释更新审核跟踪,从而消除删除触发器的需要。