Tôi đã đọc qua LOTS bài đăng về cách lưu một thực thể tách rời trong Khuôn khổ thực thể. Tất cả chúng dường như áp dụng cho các phiên bản cũ hơn của Entity Framework. Chúng tham chiếu các phương thức như ApplyCurrentValues và ChangeObjectState mà dường như không tồn tại. Trên một ý thích bất chợt tôi quyết định thử một phương pháp tôi tìm thấy qua IntelliSense và tôi muốn chắc chắn đây là cách chính xác để làm điều này vì tôi không nhận được để xem những gì đang xảy ra đằng sau hậu trường:Lưu thực thể tách rời trong Entity Framework 6
public void SaveOrder(Order order)
{
using (VirtualWebEntities db = new VirtualWebEntities())
{
db.Orders.Attach(order);
db.Entry(order).State = System.Data.Entity.EntityState.Modified;
db.SaveChanges();
}
}
Is đây là cách chính xác để cập nhật một mục hiện có đã được thay đổi?
nhờ. vì vậy tôi chỉ muốn làm rõ .. không còn là một khái niệm về applycurrentvalues như trong các phiên bản trước đây, nơi bạn có thể thông báo cho EF trường nào đã thay đổi? – KingOfHypocrites
@KingOfHypocrites Bạn có thể, tôi đã chỉnh sửa câu trả lời của mình. Tôi đề nghị xem xét [tài liệu EF6] (http://msdn.microsoft.com/en-us/data/ee712907), nó có rất nhiều ví dụ và giải thích tốt, và được viết theo một cách rất đơn giản. –
Cảm ơn bạn đã liên kết. Điều duy nhất với ví dụ của bạn là tôi sẽ phải đánh dấu thủ công từng thuộc tính. Phiên bản cũ có phương pháp áp dụng giá trị ở đây bạn có thể lấy đối tượng mới và áp dụng cho đối tượng cũ. Điều này sẽ tự động đánh dấu bất kỳ thuộc tính đã thay đổi nào để nó sẽ biết những gì cần cập nhật khi lưu. Tôi vẫn đang tìm kiếm một tương đương. – KingOfHypocrites