Tôi đang sử dụng ASP.NET MVC và Entity Framework. Tôi có trang web Chỉnh sửa người mà trong đó các trường của người đó có thể được chỉnh sửa, sau đó trong hành động đăng lại, tôi sử dụng đoạn mã sau.Ngăn cập nhật giá trị không thay đổi trong ASP.NET MVC và Entity Framework
var person = objectCtx.Persons.Where(s => s.Id == id).FirstOrDefault();
TryUpdateModel(person, form.ToValueProvider());
objectCtx.SaveChanges();
Nó hoạt động rất tốt. Tuy nhiên trong SQL được tạo ra, tôi vẫn có thể thấy câu lệnh UPDATE ngay cả khi các giá trị không bị thay đổi. Có cách nào để tránh điều này trong ASP.NET MVC hoặc trong Entity Framework?
Nhưng không phải tất cả thông tin đều giống nhau. Người dùng chỉ có thể thay đổi trường onle, nhưng Entity Framework đang cố cập nhật tất cả các trường trong SQL. – Hengyi
@Tôi và tại sao đó là một vấn đề nếu đó là cùng một dữ liệu đó là cùng một dữ liệu – msarchet
Vấn đề là trang có thể có một số thực thể con. Ví dụ: thực thể Person và thực thể con Person.Address. Nếu người dùng chỉ cập nhật các trường trên thực thể Person, chỉ cần nghĩ rằng chúng ta không nên cập nhật thực thể Person.Address. – Hengyi