private static void UpdateRecordWithConcurrency() { //simulate two different users updating the same record var car = new Car() { Make = "Yugo", Color = "Brown", CarNickName = "Brownie" }; AddNewRecord(car); var repo1 = new CarRepo(); var car1 = repo1.GetOne(car.CarId); car1.CarNickName = "Updated"; var repo2 = new CarRepo(); var car2 = repo2.GetOne(car.CarId); car2.Make = "Nissan"; repo1.Save(car1); try { repo2.Save(car2); } catch (DbUpdateConcurrencyException ex) { WriteLine(ex); } //RemoveRecordById(car1.CarId, car1.Timestamp); }
private static void UpdateRecord(int carId) { using (var repo = new CarRepo()) { //Grab the car, change it, save! var carToUpdate = repo.GetOne(carId); if (carToUpdate != null) { WriteLine("Before change: " + repo.Context.Entry(carToUpdate).State); carToUpdate.Color = "Blue"; WriteLine("After change: " + repo.Context.Entry(carToUpdate).State); repo.Save(carToUpdate); WriteLine("After save: " + repo.Context.Entry(carToUpdate).State); } } }