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 static ShowrunnerDbContext GetDbContext() { if (_provider == null) { throw new NullReferenceException("Connection provider not set"); } return(new ShowrunnerDbContext(_provider.GetDbConnection())); }
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; }
/// <summary> /// Checks the db connection with SELECT 1 /// </summary> /// <param name="token">The token.</param> /// <returns></returns> public async Task <bool> Check(CancellationToken token) { using (var connection = _dbConnectionProvider.GetDbConnection()) { await connection.OpenAsync(token).ConfigureAwait(false); using (var cmd = connection.CreateCommand()) { cmd.CommandText = "SELECT 1"; await cmd.ExecuteNonQueryAsync(token).ConfigureAwait(false); return(true); } } }
public IDbConnection GetDbConnection() { if (dbConnection == null) { switch (_dapperOption.DbType) { case DbType.MSSQL: dbConnection = _dbConnectionProvider.GetDbConnection(); break; case DbType.MYSQL: throw new Exception("mysql 暂时不支持"); default: break; } } if (dbConnection.State == ConnectionState.Closed) { dbConnection.Open(); } return(dbConnection); }
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)); }
public UnitOfWork(IDbConnectionProvider provider) { Id = Guid.NewGuid(); _connection = provider.GetDbConnection(); }