public void ShouldThrowConcurrencyError() { var cat = new Category { CategoryName = "Foo" }; Assert.Equal(0, cat.Id); _db.Categories.Add(cat); _db.SaveChanges(); var newCat = _db.Categories.First(c => c.Id == cat.Id); _db.Database.ExecuteSqlCommand($"Update Store.Categories set CategoryName = 'Bar' where Id = {cat.Id}"); newCat.CategoryName = "FooBar"; var ex = Assert.Throws <DbUpdateConcurrencyException>(() => _db.SaveChanges()); }
public void ShouldDeleteCategoryById() { var catCount = Db.Categories.Count(); var prodCount = Db.Products.Count(); var cat = Db.Categories.First(); var newDb = new IntroToEfContext(); var catToDelete = new Category { Id = cat.Id, TimeStamp = cat.TimeStamp }; newDb.Entry(catToDelete).State = EntityState.Deleted; newDb.SaveChanges(); Assert.Equal(catCount - 1, Db.Categories.Count()); Assert.Equal(prodCount - 2, Db.Products.Count()); }