运行SQL而无需事务

时间:2018-11-13 11:35:31

标签: asp.net-core entity-framework-core

有没有一种方法可以执行SQL或存储过程而不在实体框架中创建其他事务?实体框架Stored Procedure without transaction in Entity Framework有解决方案,但不适用于.net核心。

1 个答案:

答案 0 :(得分:1)

ExecuteSqlCommand在EF Core中的默认行为与EF6不同:

  

请注意,此方法不会启动事务。要在事务中使用此方法,请首先调用BeginTransaction(DatabaseFacade, IsolationLevel)UseTransaction(DatabaseFacade, DbTransaction)

     

请注意,此方法未使用当前的ExecutionStrategy,因为SQL可能不是幂等的,并且不会在事务中运行。可以显式使用ExecutionStrategy,并确保在SQL不是幂等的情况下也使用事务。

换句话说,您要问的是EF Core中的默认行为,因此无需采取任何措施。