Example #1
0
        private IDbConnection CreateConnection(string connectionName)
        {
            var connString = EnableMasterSlave ? ConnectionConfigureManager.GetConnectionString(connectionName, ReadOnly) : Configuration.GetConnectionString(connectionName);

            if (string.IsNullOrWhiteSpace(connString))
            {
                throw new ArgumentNullException(nameof(connString), "The config of " + connectionName + " cannot be null.");
            }
            var conn = new TDbConnection();

            if (conn == null)
            {
                throw new ArgumentNullException(nameof(IDbConnection), "Failed to create database connection.");
            }
            conn.ConnectionString = connString;
            conn.Open();
            return(DbMiniProfiler == null ? conn : DbMiniProfiler.CreateConnection(conn));
        }
Example #2
0
 protected BaseDapper(IServiceProvider serviceProvider, string connectionName = "DefaultConnection", bool enableMasterSlave = false, bool readOnly = false)
 {
     if (!enableMasterSlave && readOnly)
     {
         throw new InvalidOperationException($"The connection with the name '{connectionName}' does not enable the master-slave");
     }
     EnableMasterSlave  = enableMasterSlave;
     ReadOnly           = readOnly;
     Configuration      = serviceProvider.GetRequiredService <IConfiguration>();
     Cache              = serviceProvider.GetService <ICacheProvider>();
     CacheConfiguration = serviceProvider.GetService <CacheConfiguration>();
     CacheKeyBuilder    = serviceProvider.GetService <ICacheKeyBuilder>();
     DbMiniProfiler     = serviceProvider.GetService <IDbMiniProfiler>();
     SQLManager         = serviceProvider.GetService <ISQLManager>();
     Conn = new Lazy <IDbConnection>(() => CreateConnection(connectionName));
     if (EnableMasterSlave)
     {
         ConnectionConfigureManager = serviceProvider.GetRequiredService <ConnectionConfigureManager>();
     }
 }