public void AddEntityFramework() { IServiceProvider serviceProvider = InitDependencyInjection(services => { services.AddDbContext <Context.TestContext>(builder => { builder.UseInMemoryDatabase(); }, ServiceLifetime.Transient); }, containerBuilder => { containerBuilder.AddUnitOfWork(provider => { provider.Register(new EntityFrameworkUnitOfWorkRegisteration("ef")); }); }); IUnitOfWorkProvider unitOfWorkProvider = serviceProvider.GetService <IUnitOfWorkProvider>(); using (IUnitOfWork uw = unitOfWorkProvider.CreateUnitOfWork("ef")) { Assert.IsNotNull(uw); var entity = new Context.TestContext.TestEntity { ID = 1, Name = "name" }; uw.Insert(entity); entity = uw.Get <Context.TestContext.TestEntity>(t => t.ID == 1); Assert.IsNotNull(entity); } }
public void RepositoryMethodOverrideShouldWork() { IServiceProvider serviceProvider = InitDependencyInjection(services => { services.AddLogging(); services.AddDbContext <Context.TestContext>(builder => { builder.UseInMemoryDatabase(); }, ServiceLifetime.Transient); }, containerBuilder => { containerBuilder.AddUnitOfWork(provider => { provider.Register(new EntityFrameworkUnitOfWorkRegisteration("ef", builder => { //builder.RegisterType<Repository.EntityFramework.TestEntityRepository>().As<Repository.Interface.ITestEntityRepository>(); })); }); }); IUnitOfWorkProvider unitOfWorkProvider = serviceProvider.GetService <IUnitOfWorkProvider>(); using (var uw = unitOfWorkProvider.CreateUnitOfWork("ef")) { var entity = new Context.TestContext.TestEntity { ID = 1, Name = "hello" }; uw.Insert(entity); entity = uw.Get <Context.TestContext.TestEntity>(t => t.ID == 1); Assert.AreEqual(entity.Name, "override"); } }