有没有一种方法可以执行SQL或存储过程而不在实体框架中创建其他事务?实体框架Stored Procedure without transaction in Entity Framework有解决方案,但不适用于.net核心。
答案 0 :(得分:1)
ExecuteSqlCommand在EF Core中的默认行为与EF6不同:
请注意,此方法不会启动事务。要在事务中使用此方法,请首先调用BeginTransaction(DatabaseFacade, IsolationLevel)或UseTransaction(DatabaseFacade, DbTransaction)。
请注意,此方法未使用当前的ExecutionStrategy,因为SQL可能不是幂等的,并且不会在事务中运行。可以显式使用ExecutionStrategy,并确保在SQL不是幂等的情况下也使用事务。
换句话说,您要问的是EF Core中的默认行为,因此无需采取任何措施。