コード例 #1
0
        /// <summary> 获取数据库连接 </summary>
        /// <param name="connectionName">连接名称</param>
        /// <param name="fromCache">是否启用线程缓存</param>
        /// <returns></returns>
        public IDbConnection Connection(string connectionName = null, bool fromCache = true)
        {
            var config = ConnectionConfig.Config(connectionName) ?? new ConnectionConfig {
                Name = connectionName
            };

            return(GetConnection(config, fromCache));
        }
コード例 #2
0
 public static IServiceCollection AddDapper(this IServiceCollection services, string configName)
 {
     services.TryAddScoped <IUnitOfWork>(provider =>
     {
         var config = ConnectionConfig.Config(configName);
         return(new UnitOfWork(config.ConnectionString, config.ProviderName));
     });
     return(services);
 }
コード例 #3
0
 public static IServiceCollection AddDapper(this IServiceCollection services, string configName)
 {
     services.TryAddSingleton <ConnectionFactory>();
     services.TryAddSingleton <IDbConnectionProvider, DefaultDbConnectionProvider>();
     services.TryAddScoped <IUnitOfWork>(provider =>
     {
         var config = ConnectionConfig.Config(configName);
         return(new UnitOfWork(config.ConnectionString, config.ProviderName));
     });
     return(services);
 }
コード例 #4
0
 public static IServiceCollection AddDapper(this IServiceCollection services,
                                            Action <ConnectionConfig> configAction = null)
 {
     services.TryAddScoped <IUnitOfWork>(provider =>
     {
         var config = ConnectionConfig.Config();
         configAction?.Invoke(config);
         return(new UnitOfWork(config.ConnectionString, config.ProviderName));
     });
     return(services);
 }
コード例 #5
0
 public static IServiceCollection AddDapper(this IServiceCollection services,
                                            Action <ConnectionConfig> configAction = null)
 {
     services.TryAddSingleton(provider =>
     {
         var logger = provider.GetService <ILoggerFactory>()?.CreateLogger <ConnectionFactory>();
         return(new ConnectionFactory(logger));
     });
     services.TryAddSingleton <IDbConnectionProvider, DefaultDbConnectionProvider>();
     services.TryAddScoped <IUnitOfWork>(provider =>
     {
         var config = ConnectionConfig.Config();
         configAction?.Invoke(config);
         return(new UnitOfWork(config.ConnectionString, config.ProviderName));
     });
     return(services);
 }