Azure中的ExecuteSqlCommand事务

Mis*_*pic 8 c# entity-framework azure azure-sql-database

我使用EF 6与Azure Sql数据库.根据Microsoft,不支持用户启动的事务(参考:https://msdn.microsoft.com/en-us/data/dn307226#transactions)

现在,使用EF 6,ExecuteSqlCommand默认情况下包含在事务中:

从EF6 Database.ExecuteSqlCommand()开始,默认情况下会将命令包装在事务中(如果尚未存在).(参考:https://msdn.microsoft.com/en-us/data/dn456843.aspx)

鉴于我的情况,我应该总是抑制这样的ExecuteSqlCommand事务行为:

context.Database.ExecuteSqlCommand(TransactionalBehavior.DoNotEnsureTransaction, @"TRUNCATE TABLE Person;");
Run Code Online (Sandbox Code Playgroud)

usr*_*usr 6

您所指的此声明仅适用于重试策略:

配置执行策略后导致重试...

您链接到的文章并非特定于Azure.Azure SQL数据库支持事务.