如何使用EF7 RC2抑制環境事務警告

.net-core-rc2 entity-framework-core

如何使用EF7 RC2抑制環境事務警告?

無法找到SuppressAmbientTransactionWarning()方法。

一般承認的答案

您可以在DbContext中禁用它(在舊版本中):

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
     optionsBuilder.UseSqlServer(@"Server=.\;Database=EFTutorial;Trusted_Connection=True;").SuppressAmbientTransactionWarning();
     base.OnConfiguring(optionsBuilder);
}

要么

如果你在json中有連接字符串:

var optionsBuilder = new DbContextOptionsBuilder();
optionsBuilder.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]).SuppressAmbientTransactionWarning();

在新版本中:

  var optionsBuilder = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder();
    var extension = new SqlServerOptionsExtension(optionsBuilder.Options.GetExtension<SqlServerOptionsExtension>())
    {
        ThrowOnAmbientTransaction = false
    };

    ((IDbContextOptionsBuilderInfrastructure)optionsBuilder).AddOrUpdateExtension(extension);

熱門答案

雖然問題與RC2有關,但截至2016年10月16日,這對我有用,希望對其他人有用:

services.AddDbContext<OpenDataContext>(options =>
   {
       options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
       options.ConfigureWarnings(x => x.Ignore(RelationalEventId.AmbientTransactionWarning));
   });

在上面的集成測試設置類中使用。



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow