EF7 RC2で周辺トランザクション警告を抑制する方法は?EF7 RC2で周辺トランザクション警告を抑制する方法
SuppressAmbientTransactionWarning()メソッドが見つかりません。
EF7 RC2で周辺トランザクション警告を抑制する方法は?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();
Inを新しいバージョン:
var optionsBuilder = new Microsoft.EntityFrameworkCore.DbContextOptionsBuilder();
var extension = new SqlServerOptionsExtension(optionsBuilder.Options.GetExtension<SqlServerOptionsExtension>())
{
ThrowOnAmbientTransaction = false
};
((IDbContextOptionsBuilderInfrastructure)optionsBuilder).AddOrUpdateExtension(extension);
@LukasJanecek:CS0117 'SqlServerOptionsExtension'には' ThrowOnAmbientTransaction'の定義が含まれていません。 – MERose
質問は2016年10月16日の時点で、RC2に関連していたが、これは私のために働いて、うまくいけば、それは他の誰かに便利です:統合テスト・セットアップクラスで上記で使用される
services.AddDbContext<OpenDataContext>(options =>
{
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"));
options.ConfigureWarnings(x => x.Ignore(RelationalEventId.AmbientTransactionWarning));
});
。
アンビエントトランザクションが使用されないことを意味しますか? –
私はそれがそのような振る舞いを変えるとは思わない。それは私のケースでは、私が正しく覚えている場合、テストの失敗を引き起こしていた警告と警告を抑制する。たとえば、私はInMemoryが周囲トランザクションをサポートしていないと考えています。そのため、警告が統合テストに失敗するのを防ぐために警告を抑制していました。トレードオフは大丈夫だった。私のコードサンプルがなぜUseSqlServerをスピンアップしているのかはわかりません。 o.O –
これが動作しない場合、私にフィードバックを与えてください。# –