Esempio n. 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]);
        }
Esempio n. 2
0
 public static ShowrunnerDbContext GetDbContext()
 {
     if (_provider == null)
     {
         throw new NullReferenceException("Connection provider not set");
     }
     return(new ShowrunnerDbContext(_provider.GetDbConnection()));
 }
Esempio n. 3
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;
 }
Esempio n. 4
0
        /// <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);
                }
            }
        }
Esempio n. 5
0
        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));
 }
Esempio n. 7
0
 public EfDbContextBase(string connectionString, IDbConnectionProvider dbConnectionProvider)
     : base(dbConnectionProvider.GetDbConnection(connectionString, rollbackOnScopeStatusFailure: true), contextOwnsConnection: false)
 {
     ApplyDefaultConfig();
     Database.UseTransaction(dbConnectionProvider.GetDbTransaction(connectionString));
 }
Esempio n. 8
0
 public UnitOfWork(IDbConnectionProvider provider)
 {
     Id          = Guid.NewGuid();
     _connection = provider.GetDbConnection();
 }