public virtual DbContextObjects GetDbContextOptions(string connectionString) { if (connectionString == null) { throw new ArgumentNullException(nameof(connectionString)); } if (!_dbContextObjects.ContainsKey(connectionString)) { DbContextOptionsBuilder dbContextOptionsBuilder = new DbContextOptionsBuilder(); DbConnection dbConnection = _dbConnectionProvider.GetDbConnection(connectionString, rollbackOnScopeStatusFailure: true); dbContextOptionsBuilder.UseSqlServer(dbConnection); _dbContextObjects.Add(connectionString, new DbContextObjects { Transaction = _dbConnectionProvider.GetDbTransaction(connectionString), Connection = dbConnection, Options = dbContextOptionsBuilder.Options }); } return(_dbContextObjects[connectionString]); }
public DefaultDbContext(string connectionString, IDbConnectionProvider dbConnectionProvider) : base(dbConnectionProvider.GetDbConnection(connectionString, rollbackOnScopeStatusFailure: true), contextOwnsConnection: false) { _dbConnectionProvider = dbConnectionProvider; Database.UseTransaction(_dbConnectionProvider.GetDbTransaction(connectionString)); Configuration.AutoDetectChangesEnabled = false; Configuration.EnsureTransactionsForFunctionsAndCommands = true; Configuration.LazyLoadingEnabled = false; Configuration.ProxyCreationEnabled = false; Configuration.UseDatabaseNullSemantics = false; Configuration.ValidateOnSaveEnabled = true; }
public EfDbContextBase(string connectionString, IDbConnectionProvider dbConnectionProvider) : this(dbConnectionProvider.GetDbConnection(connectionString, rollbackOnScopeStatusFailure : true), contextOwnsConnection : false) { Database.UseTransaction(dbConnectionProvider.GetDbTransaction(Database.Connection)); }
public EfDbContextBase(string connectionString, IDbConnectionProvider dbConnectionProvider) : base(dbConnectionProvider.GetDbConnection(connectionString, rollbackOnScopeStatusFailure: true), contextOwnsConnection: false) { ApplyDefaultConfig(); Database.UseTransaction(dbConnectionProvider.GetDbTransaction(connectionString)); }