Example #1
0
        public static void Register(IList <string> connectionNames, SqlDbmsType dbmsType)
        {
            switch (dbmsType)
            {
            case SqlDbmsType.MySql:
                MySqlRegisterLightInject(connectionNames);
                break;

            case SqlDbmsType.SqlServer:
                SqlServerRegisterLightInject(connectionNames);
                break;

            case SqlDbmsType.Oracle:
                throw new NotImplementedException("Oracle Database Implementation Not Present");

            case SqlDbmsType.SqlLite:
                throw new NotImplementedException("SqlLite Database Implementation Not Present");

            case SqlDbmsType.PostGreSql:
                throw new NotImplementedException("PostGreSql Database Implementation Not Present");

            default:
                MySqlRegisterLightInject(connectionNames);
                break;
            }
        }
Example #2
0
 private static void DapperRegister(IList <string> connectionNames, SqlDbmsType dbmsType)
 {
     connectionNames.ToList().ForEach(connectionName =>
     {
         Container.RegisterInstance <IOrm, DapperOrm>(
             connectionName,
             new DapperOrm(connectionName, dbmsType),
             ObjectLifeSpans.Singleton);
     });
 }
Example #3
0
        private static void CustomRegister(IList <string> connectionNames, SqlDbmsType dbmsType)
        {
            var configuration = Container.Resolve <IWebConfiguration>();

            connectionNames.ToList().ForEach(connectionName =>
            {
                Container.RegisterInstance <IOrm, CustomOrm>(
                    connectionName,
                    new CustomOrm(Container.Resolve <IDbConnection>(connectionName)),
                    ObjectLifeSpans.Singleton);
            });
        }
Example #4
0
        public static void Initialize()
        {
            SqlDbmsType   dbType                = SqlDbmsType.SqlServer;
            var           configuration         = Container.Resolve <IWebConfiguration>();
            List <string> connectionStringNames = configuration.GetConnectionStringNames().ToList();

            ConnectionRegister.Register(connectionStringNames, dbType);
            OrmRegister.Register(connectionStringNames, OrmType.Dapper, dbType);
            DbRegister.Register(connectionStringNames, dbType);
            Container.Register <IDataProvider, DataProvider>(ObjectLifeSpans.Singleton);
            DataRegister.Initialize();
            EntityMap.Initialize();
        }
Example #5
0
 public static void Register(IList <string> connectionNames, SqlDbmsType dbmsType)
 {
     switch (dbmsType)
     {
     case SqlDbmsType.SqlServer:
     case SqlDbmsType.MySql:
     case SqlDbmsType.Oracle:
     case SqlDbmsType.SqlLite:
     case SqlDbmsType.PostGreSql:
     default:
         DbRegisterLightInject(connectionNames);
         break;
     }
 }
Example #6
0
        public static void Register(IList <string> connectionNames, OrmType ormType, SqlDbmsType dbmsType)
        {
            switch (ormType)
            {
            case OrmType.Custom:
                CustomRegister(connectionNames, dbmsType);
                break;

            case OrmType.Dapper:
                DapperRegisterLightInject(connectionNames, dbmsType);
                break;

            default:
                DapperRegisterLightInject(connectionNames, dbmsType);
                break;
            }
        }
Example #7
0
 private static void DapperRegisterLightInject(IList <string> connectionNames, SqlDbmsType dbmsType)
 {
     connectionNames.ToList().ForEach(connectionName =>
     {
         var container = (ServiceContainer)Container.resolver.GetUnderlyingContainer();
         container.Register <IOrm>(factory =>
                                   new DapperOrm(connectionName, dbmsType),
                                   connectionName,
                                   new PerContainerLifetime());
     });
 }
Example #8
0
 public DapperOrm(string connectionName, SqlDbmsType dbmsType)
 {
     this.connectionName = connectionName;
     this.dbmsType       = dbmsType;
 }