2012-01-22 36 views
12

Tôi gặp lỗi "Không thể giải quyết đối tượng SymbolStateManager" khi cố gắng gọi nó trên ngữ cảnh Cơ sở dữ liệu của tôi từ Entity Framework 4. Tôi không thể tìm thấy bất kỳ ai khác có vấn đề này. Tôi đã thử sử dụng System.DataSystem.Data.Objects.Không thể giải quyết Symbol ObjectStateManager

Có khung thực thể cụ thể nào cần được thực hiện để sử dụng ObjectStateManager không? Hoặc tôi có thiếu một số loại gói cài đặt? Tôi đang sử dụng Database First Entity Framework.

Dưới đây là đoạn code nó được đưa ra lỗi của tôi: (Tuyến 7)

[HttpPost] 
     public ActionResult EditProfile(User user) 
     { 
      if (ModelState.IsValid) 
      { 
       db.Users.Attach(user); 
       db.ObjectStateManager.ChangeObjectState(user, EntityState.Modified); 
       db.SaveChanges(); 
      } 
      return RedirectToAction("Profile"); 
     } 

Trả lời

28

tôi chắc chắn bạn tìm thấy một giải pháp bây giờ nhưng tôi chạy vào cùng một vấn đề chỉ là bây giờ và đã có thể giải quyết nó bằng cách thay đổi Dòng EntityState như sau:

db.Entry(user).State = EntityState.Modified; 
+2

Được nâng cấp từ EF5 lên EF6 và điều này đã hiệu quả đối với tôi. – sobelito

0

Bạn đã thêm System.Data.Entity lắp ráp cho dự án?

Đồng thời System.Data.Objects là chính xác.

+0

Vì tôi đang sử dụng Resharper nên cả hai đều không được sử dụng ngay cả khi chúng được thêm vào. – Rizowski

13

Có thể bạn đang sử dụng mã EF đầu tiên. Trong trường hợp này bạn phải trở lại bạn mã để implemenatation rõ ràng của IObjectContextAdapter, tức là

((IObjectContextAdapter)db).ObjectContext.ObjectStateManager 
+1

Tôi đang sử dụng Cơ sở dữ liệu Trước tiên, tôi buồn khi nói rằng không hoạt động. – Rizowski

+0

Tôi đang sử dụng EF 5.0 và điều này làm việc cho tôi –

+0

Cảm ơn, điều này đã làm việc cho tôi. Tôi cũng cần thêm không gian tên: System.Data.Entity.Infrastructure; – Cesar

0

Một mục bổ sung cần kiểm tra là khung .net mục tiêu cho dự án được đặt thành .net 4+.

+0

Điều này có thể được đăng dưới dạng nhận xét hoặc cụ thể hơn. – DontVoteMeDown

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