Example #1
0
        public static IDatabase GetDatabase(string key, DataBaseType type)
        {
            var connectionString = System.Configuration.ConfigurationManager.AppSettings[key];

            if (string.IsNullOrEmpty(connectionString))
            {
                throw new ArgumentException("数据库连接字符串不能为空!");
            }

            IDbConnection cnn = null;
            IDapperExtensionsConfiguration config = null;

            switch (type)
            {
            case DataBaseType.Orcale:
                config = new DapperExtensionsConfiguration(typeof(AutoClassMapper <>), new List <Assembly>(), new OracleDialect());
                cnn    = new Oracle.ManagedDataAccess.Client.OracleConnection(connectionString);
                break;

            case DataBaseType.SqlServer:
                config = new DapperExtensionsConfiguration(typeof(AutoClassMapper <>), new List <Assembly>(), new SqlServerDialect());
                cnn    = new System.Data.SqlClient.SqlConnection(connectionString);
                break;

            default:
                throw new NotImplementedException("尚未实现对该数据库的支持!");
            }
            var sqlGenerator = new SqlGeneratorImpl(config);

            return(new Database(cnn, sqlGenerator));
        }
Example #2
0
        public static PropertyInfo GetPrimaryKeyPropertyInfo <T>(this IDapperExtensionsConfiguration configuration) where T : class
        {
            IClassMapper map         = configuration.GetMap <T>();
            IPropertyMap propertyMap = map.Properties.Single(p => p.KeyType != KeyType.NotAKey);

            return(propertyMap.PropertyInfo);
        }
 public PostgresqlDapperImplementor(IPostgresqlGenerator sqlGenerator,
                                    IClassMapperRepository classMappers,
                                    IDapperExtensionsConfiguration dapperExtensionsConfiguration)
     : base(sqlGenerator, classMappers, dapperExtensionsConfiguration)
 {
     SqlGenerator = sqlGenerator;
 }
 public ActionProviderBase(IDapperExtensionsConfiguration configuration,
                           IClassMapperRepository classMapperRepository,
                           ISqlGenerator sqlGenerator)
 {
     Configuration = configuration;
     ClassMappers  = classMapperRepository;
     SqlGenerator  = sqlGenerator;
 }
Example #5
0
        public Database(IOptions <DataBaseOptions> options, IDapperExtensionsConfiguration Configuration)
        {
            _dapper    = new DapperImplementor(new SqlGeneratorImpl(Configuration));
            Connection = options.Value.DbConnection();

            if (Connection.State != ConnectionState.Open)
            {
                Connection.Open();
            }
        }
Example #6
0
        protected virtual IClassMapper GetClassMapper(Type type, IDapperExtensionsConfiguration configuration)
        {
            var map = configuration.GetMap(type);

            if (map == null)
            {
                throw new NullReferenceException(string.Format("Map was not found for {0}", type));
            }

            return(map);
        }
        protected virtual IClassMapper GetClassMapper(Type type, IDapperExtensionsConfiguration configuration)
        {
            IClassMapper map = configuration.GetMap(type);

            if (map == null)
            {
                throw new NullReferenceException($"Map was not found for {type}");
            }

            return(map);
        }
        public DapperInstances BuildImplementor(IEnumerable <Assembly> assemblies, IDapperExtensionsConfiguration configuration)
        {
            // verify configuration;

            var repository             = GetInitializedRepository(assemblies, configuration);
            var sqlGenerator           = new SqlGenerator(configuration);
            var dapperImplementor      = new DapperImplementor(sqlGenerator, repository, configuration);
            var dapperAsyncImplementor = new DapperAsyncImplementor(sqlGenerator, repository, configuration);

            return(new DapperInstances(dapperImplementor, dapperAsyncImplementor));
        }
 public DapperAsyncImplementor(ISqlGenerator sqlGenerator,
                               IClassMapperRepository classMappers,
                               IDapperExtensionsConfiguration dapperExtensionsConfiguration)
     : this(sqlGenerator,
            classMappers,
            dapperExtensionsConfiguration,
            new GetActionProvider(dapperExtensionsConfiguration, classMappers, sqlGenerator),
            new InsertActionProvider(dapperExtensionsConfiguration, classMappers, sqlGenerator),
            new UpdateActionsProvider(dapperExtensionsConfiguration, classMappers, sqlGenerator),
            new DeleteActionsProvider(dapperExtensionsConfiguration, classMappers, sqlGenerator),
            new CountActionsProvider(dapperExtensionsConfiguration, classMappers, sqlGenerator),
            new AtomicIncrementActionProvider(dapperExtensionsConfiguration, classMappers, sqlGenerator))
 {
 }
Example #10
0
        static Repository()
        {
            //1
            //DapperExtensions.Core20.DapperExtensions.DefaultMapper = typeof(CustomPluralizedAutoClassMapper<>);
            //DapperExtensions.Core20.DapperExtensions.SqlDialect = new MySqlDialect();
            //DapperExtensions.DapperExtensions.Configure(
            //    typeof(CustomPluralizedAutoClassMapper<>),
            //    new List<Assembly>(),
            //    new MySqlDialect());

            _dapperConfig = new DapperExtensionsConfiguration(typeof(CustomPluralizedAutoClassMapper <>), new List <Assembly>(), new MySqlDialect());
            //使用connection
            DapperExtensionsCore.DapperExtensions.Configure(_dapperConfig);
            DapperExtensionsCore.DapperAsyncExtensions.Configure(_dapperConfig);
            //使用instance
            _dapperInstance      = DapperExtensionsCore.DapperExtensions.InstanceFactory.Invoke(_dapperConfig);
            _dapperAsyncInstance = DapperExtensionsCore.DapperAsyncExtensions.InstanceFactory.Invoke(_dapperConfig);
        }
 internal DapperAsyncImplementor(ISqlGenerator sqlGenerator,
                                 IClassMapperRepository classMappers,
                                 IDapperExtensionsConfiguration dapperExtensionsConfiguration,
                                 IGetGenerator getGenerator,
                                 IInsertGenerator insertGenerator,
                                 IUpdateActionsProvider updateActionsProvider,
                                 IDeleteActionsProvider deleteActionsProvider,
                                 ICountActionsProvider countActionsProvider,
                                 IAtomicIncrementActionProvider atomicIncrement)
 {
     _getGenerator          = getGenerator;
     _insertGenerator       = insertGenerator;
     _updateActionsProvider = updateActionsProvider;
     _deleteActionsProvider = deleteActionsProvider;
     _countActionsProvider  = countActionsProvider;
     _atomicIncrement       = atomicIncrement;
     ClassMappers           = classMappers;
     Configuration          = dapperExtensionsConfiguration;
     SqlGenerator           = sqlGenerator;
 }
Example #12
0
 public PostgresqlGenerator(IDapperExtensionsConfiguration configuration)
     : base(configuration)
 {
 }
 public SqlBuilder(IDapperExtensionsConfiguration configuration) : base(configuration)
 {
     _configuration = configuration;
 }
Example #14
0
 public AtomicIncrementActionProvider(IDapperExtensionsConfiguration configuration,
                                      IClassMapperRepository classMapperRepository,
                                      ISqlGenerator sqlGenerator) : base(configuration, classMapperRepository, sqlGenerator)
 {
 }
 public NexusDBSqlGenerator(IDapperExtensionsConfiguration configuration)
     : base(configuration)
 {
 }
Example #16
0
 public SqlGeneratorImpl(IDapperExtensionsConfiguration configuration)
 {
     Configuration      = configuration;
     SqlCustomGenerator = new SqlCustomGenerator(this);
 }
 public SqliteGenerator(IDapperExtensionsConfiguration configuration)
     : base(configuration)
 {
     _model = RepositoryFactory.GetModel();
 }
 public GenericRepository(IDbConnection connection)
 {
     dbConnection = connection;
     dapperExtensionsConfiguration = new DapperExtensionsConfiguration();
 }
 /// <summary>
 /// Configure DapperExtensions extension methods.
 /// </summary>
 /// <param name="defaultMapper"></param>
 /// <param name="mappingAssemblies"></param>
 /// <param name="sqlDialect"></param>
 public static void Configure(IDapperExtensionsConfiguration configuration)
 {
     _instance      = null;
     _configuration = configuration;
 }
 public SqlGeneratorImpl(IDapperExtensionsConfiguration configuration)
 {
     Configuration = configuration;
 }
 /// <summary>
 /// Configure DapperExtensions extension methods.
 /// </summary>
 /// <param name="configuration"></param>
 public static void Configure(IDapperExtensionsConfiguration configuration)
 {
     _implementorInstance     = null;
     _extensionsConfiguration = configuration;
 }
Example #22
0
 public UpdateActionsProvider(IDapperExtensionsConfiguration configuration,
                              IClassMapperRepository classMapperRepository,
                              ISqlGenerator sqlGenerator)
     : base(configuration, classMapperRepository, sqlGenerator)
 {
 }
Example #23
0
 public SqlGeneratorImpl(IDapperExtensionsConfiguration configuration)
 {
     Configuration = configuration;
     Tables        = new List <Table>();
 }
Example #24
0
 /// <summary>
 /// Configure DapperExtensions extension methods.
 /// </summary>
 public static IDapperExtensionsConfiguration Configure(this IDapperExtensionsConfiguration configuration)
 {
     _instance      = null;
     _configuration = configuration;
     return(_configuration);
 }
Example #25
0
 public static object GetPrimaryKey <T>(this IDapperExtensionsConfiguration configuration, T entity) where T : class
 {
     return(configuration.GetPrimaryKeyPropertyInfo <T>().GetValue(entity));
 }
 /// <summary>
 /// SqlGenerator实例
 /// </summary>
 /// <param name="configuration"></param>
 /// <returns></returns>
 public static ISqlGenerator GetSqlGenerator(IDapperExtensionsConfiguration configuration)
 {
     return(new SqlGeneratorImpl(configuration));
 }
Example #27
0
 public MySqlGenerator(IDapperExtensionsConfiguration configuration)
 {
     Configuration = configuration;
 }
 public MySqlGenerator(IDapperExtensionsConfiguration configuration)
     : base(configuration)
 {
     _model = RepositoryFactory.GetModel();
 }
Example #29
0
 public SqlGeneratorImpl(IDapperExtensionsConfiguration configuration)
 {
     Configuration = configuration;
 }
        protected IClassMapperRepository GetInitializedRepository(IEnumerable <Assembly> assemblies, IDapperExtensionsConfiguration configuration)
        {
            var repository = new ClassMapperRepository();

            repository.Initialize(assemblies, configuration.DefaultMapper);
            return(repository);
        }
Example #31
0
 public SnowSqlGeneratorImpl(IDapperExtensionsConfiguration configuration) : base(configuration)
 {
 }
Example #32
0
 public void Setup()
 {
     Configuration = new DapperExtensionsConfiguration();
 }