コード例 #1
0
        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]);
        }
コード例 #2
0
 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;
 }
コード例 #3
0
 public EfDbContextBase(string connectionString, IDbConnectionProvider dbConnectionProvider)
     : this(dbConnectionProvider.GetDbConnection(connectionString, rollbackOnScopeStatusFailure : true), contextOwnsConnection : false)
 {
     Database.UseTransaction(dbConnectionProvider.GetDbTransaction(Database.Connection));
 }
コード例 #4
0
 public EfDbContextBase(string connectionString, IDbConnectionProvider dbConnectionProvider)
     : base(dbConnectionProvider.GetDbConnection(connectionString, rollbackOnScopeStatusFailure: true), contextOwnsConnection: false)
 {
     ApplyDefaultConfig();
     Database.UseTransaction(dbConnectionProvider.GetDbTransaction(connectionString));
 }