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");
            }
        }