public void Test_EFRepository_CreateOrUpdate() { var options = new DbContextOptionsBuilder <ImmoContext>().UseInMemoryDatabase(databaseName: "Test_EFRepository_CreateOrUpdate").Options; using (var context = new ImmoContext(options)) { new ImmoSeeder(context).Seed(); var propertiesRepository = new EFReadWriteRepositoryBase <Property, Guid>(context); propertiesRepository.DeleteById(SeedValues.Properties.MyApartmentWemmel.Id); context.SaveChanges(); Assert.True(propertiesRepository.GetAll().Count() == 0); propertiesRepository.CreateOrUpdate(SeedValues.Properties.MyApartmentWemmel); var properties = propertiesRepository.GetAll(); var myApartment = propertiesRepository.GetById(SeedValues.Properties.MyApartmentWemmel.Id); Assert.True(properties.Count() == 1); Assert.True(myApartment.Id == SeedValues.Properties.MyApartmentWemmel.Id); myApartment.OriginalURL = "test"; propertiesRepository.CreateOrUpdate(myApartment); var myApartmentAfterUpdate = propertiesRepository.GetById(SeedValues.Properties.MyApartmentWemmel.Id); Assert.True(myApartmentAfterUpdate.OriginalURL == myApartment.OriginalURL); } }
protected IEnumerable <Property> SaveProperties(IEnumerable <Property> properties) { using (ImmoContext dbContext = new ImmoContextFactory().CreateDbContext()) { var repository = new EFReadWriteRepositoryBase <Property, Guid>(dbContext); repository.CreateOrUpdate(properties); } return(properties); }