2011-02-08 25 views

Trả lời

21

Cách dễ nhất là:

(1) truy xuất hàng hiện có bằng pk.

(2) cập nhật các thuộc tính.

(3) gọi SaveChanges() trên ngữ cảnh.

ví dụ:

 var student = context.Students.Find(42); 

     student.Description = "updated"; 

     context.SaveChanges(); 
+1

Đây là cách dễ nhất, nhưng nó làm cho một truy vấn thêm vào cơ sở dữ liệu phải không? Tôi có nghĩa là nó phải làm SELECT để tìm thực thể bạn muốn cập nhật và sau đó cập nhật nó. Nhưng nói chung bạn sẽ có thể làm điều đó mà không cần truy vấn này chỉ với UPDATE. Có cách nào không? – Zoka

17

Dưới đây là một cách mà làm việc cho tôi mà không cần phải thực hiện một truy vấn đầu tiên:

context.Students.Attach(student); 
context.Entry(student).State = EntityState.Modified; 
context.SaveChanges(); 
+0

Câu trả lời khác đã làm việc cho tôi cho đến nay, nhưng không có trên dự án đầu tiên mã đầu tiên của tôi. Vì vậy, bạn có biết tại sao câu trả lời của bạn hoạt động không? – MVCDS

+0

Nếu bạn không đưa ra một truy vấn tìm kiếm như trong câu trả lời của Paul, thì từ đâu đối tượng sinh viên đến? – usefulBee

+0

Xin lỗi tôi đã không sử dụng EF trong hơn 2 năm. Tôi không thể nhận xét về câu trả lời của mình vì tôi không còn quen với khung công tác nữa. – leojh

Các vấn đề liên quan