/// <summary> /// 创建数据库查询器。 /// </summary> /// <param name="useCache">优先复用链接池,否则:始终创建新链接。</param> /// <returns></returns> public virtual IDbConnection CreateDb(bool useCache = true) { var connection = TransactionConnections.GetConnection(connectionConfig.ConnectionString, DbAdapter) ?? DispatchConnections.Instance.GetConnection(connectionConfig.ConnectionString, DbAdapter, useCache); connections.Add(connection); return(connection); }
public void Initialize() { #if NET461 var adapter = new CodeArts.Db.SqlServerAdapter(); #else var adapter = new CodeArts.Db.EntityFramework.SqlServerLinqAdapter(); #endif LinqConnectionManager.RegisterAdapter(adapter); RuntimeServPools.TryAddSingleton <IMapper, CastingMapper>(); if (isCompleted) { return; } var connectionString = string.Format(@"Server={0};Database={1};User ID={2};Password={3}", SqlServerConsts.Domain, SqlServerConsts.Database, SqlServerConsts.User, SqlServerConsts.Password); using (var connection = TransactionConnections.GetConnection(connectionString, adapter) ?? DispatchConnections.Instance.GetConnection(connectionString, adapter)) { try { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandType = System.Data.CommandType.Text; var files = Directory.GetFiles("../../../Sql", "*.sql"); foreach (var file in files.Where(x => x.Contains("mssql"))) { string text = File.ReadAllText(file, Encoding.UTF8); command.CommandText = text; command.ExecuteNonQuery(); } } isCompleted = true; } finally { connection.Close(); } } }
public void Initialize() { var adapter = new MySqlLtsAdapter(); adapter.Visitors.Add(new ConvertVisitter()); DbConnectionManager.RegisterAdapter(adapter); DbConnectionManager.RegisterDatabaseFor <DapperFor>(); if (isCompleted) { return; } var connectionString = string.Format("server={0};port=3306;user=root;password={1};database=mysql;" , MySqlConsts.Domain , MySqlConsts.Password); using (var connection = TransactionConnections.GetConnection(connectionString, adapter) ?? DispatchConnections.Instance.GetConnection(connectionString, adapter)) { try { connection.Open(); using (var command = connection.CreateCommand()) { command.CommandType = System.Data.CommandType.Text; var files = Directory.GetFiles("../../../Sql", "*.sql"); foreach (var file in files.Where(x => x.Contains("mysql"))) { string text = File.ReadAllText(file, Encoding.UTF8); command.CommandText = text; command.ExecuteNonQuery(); } } isCompleted = true; } finally { connection.Close(); } } }
public Task <int> ExecuteAsync(CommandSql commandSql, CancellationToken cancellationToken = default) { if (connection is null) { using (var dbConnection = TransactionConnections.GetConnection(connectionConfig.ConnectionString, adapter) ?? DispatchConnections.Instance.GetConnection(connectionConfig.ConnectionString, adapter, true)) { return(databaseFor.ExecuteAsync(dbConnection, commandSql, cancellationToken)); } } if (transactions.Count == 0) { return(databaseFor.ExecuteAsync(connection, commandSql, cancellationToken)); } return(databaseFor.ExecuteAsync(this, commandSql, cancellationToken)); }
public IAsyncEnumerable <T> QueryAsync <T>(CommandSql commandSql) { if (connection is null) { using (var dbConnection = TransactionConnections.GetConnection(connectionConfig.ConnectionString, adapter) ?? DispatchConnections.Instance.GetConnection(connectionConfig.ConnectionString, adapter, true)) { return(databaseFor.QueryAsync <T>(dbConnection, commandSql)); } } if (transactions.Count == 0) { return(databaseFor.QueryAsync <T>(connection, commandSql)); } return(databaseFor.QueryAsync <T>(this, commandSql)); }
public int Execute(CommandSql commandSql) { if (connection is null) { using (var dbConnection = TransactionConnections.GetConnection(connectionConfig.ConnectionString, adapter) ?? DispatchConnections.Instance.GetConnection(connectionConfig.ConnectionString, adapter, true)) { return(databaseFor.Execute(dbConnection, commandSql)); } } if (transactions.Count == 0) { return(databaseFor.Execute(connection, commandSql)); } return(databaseFor.Execute(this, commandSql)); }