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; } }
private static void DapperRegister(IList <string> connectionNames, SqlDbmsType dbmsType) { connectionNames.ToList().ForEach(connectionName => { Container.RegisterInstance <IOrm, DapperOrm>( connectionName, new DapperOrm(connectionName, dbmsType), ObjectLifeSpans.Singleton); }); }
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); }); }
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(); }
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; } }
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; } }
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()); }); }
public DapperOrm(string connectionName, SqlDbmsType dbmsType) { this.connectionName = connectionName; this.dbmsType = dbmsType; }