public static void RegisterDependencies(IDependencyResolver dependencyResolver, SqlDatabaseTypeEnum databaseType) { dependencyResolver.Register<IUnitOfWorkFactory, EntityFrameworkUnitOfWorkFactory>(); if (databaseType == SqlDatabaseTypeEnum.Azure) { dependencyResolver.Register<IDbConfiguration, SqlDatabaseConfiguration>(); DbConfiguration.SetConfiguration(new SqlDatabaseConfiguration()); } else { dependencyResolver.Register<IDbConfiguration, NullDatabaseConfiguration>(); DbConfiguration.SetConfiguration(new NullDatabaseConfiguration()); } dependencyResolver.Register<IUnitOfWorkFactoryProvider, EntityFrameworkUnitOfWorkFactoryProvider>(); }
public static IDependencyResolver UseEntityFramework(this IDependencyResolver dependencyResolver, SqlDatabaseTypeEnum databaseType) { dependencyResolver.Register<IUnitOfWorkFactory, EntityFrameworkUnitOfWorkFactory>(); if (databaseType == SqlDatabaseTypeEnum.Azure) { dependencyResolver.Register<IDbConfiguration, SqlDatabaseConfiguration>(); DbConfiguration.SetConfiguration(new SqlDatabaseConfiguration()); } else { dependencyResolver.Register<IDbConfiguration, NullDatabaseConfiguration>(); DbConfiguration.SetConfiguration(new NullDatabaseConfiguration()); } dependencyResolver.Register<IUnitOfWorkFactoryProvider, EntityFrameworkUnitOfWorkFactoryProvider>(); // internal dependencyResolver.Register<IEntityFrameworkRepositoryLogger>(() => new EntityFrameworkRepositoryLogger( dependencyResolver.Resolve<ILoggerFactory>() .CreateLogger(new LoggerSource("AccidentalFish.ApplicationSupport.Repository.EntityFramework")))); return dependencyResolver; }