2012-11-01 40 views
11

Tôi đang làm việc với mã khuôn khổ pháp nhân trước tiên và nhận được lỗi biên dịch sau. dbcontext không chứa định nghĩa cho 'Làm mới'. Tôi đã thấy nhiều ví dụ trong đó phương thức Refresh đang được sử dụng. Nhưng khi tôi thêm phương thức Refresh vào dbcontext của tôi, tôi nhận được một lỗi biên dịch. Tôi đang sử dụng các không gian tên sau đây.dbcontext không chứa định nghĩa cho 'Làm mới'

using System.Data; 
using System.Data.Entity; 
using System.Data.Linq; 

Tôi có bị thiếu không? Tôi đã cố gắng tìm kiếm nó nhưng không tìm thấy không gian tên.

+0

Có khả năng là bất kỳ ví dụ nào bạn đã thấy với 'Làm mới' là các phiên bản có nguồn gốc của' DbContext' - nó sẽ trợ giúp nếu bạn có thể đăng một số mã về cách bạn đang sử dụng ngữ cảnh của mình. –

+2

Điều này có hữu ích không? http://stackoverflow.com/questions/5221314/refresh-entity-instance-with-dbcontext – bgs264

Trả lời

24

DbContext thực sự không có phương thức Refresh().

Ví dụ bạn đã xem có thể đang sử dụng ObjectContext.Refresh().

Bạn có thể nhận được một từ khác:

db = new MyDbContext()) 
... 
var ctx = ((IObjectContextAdapter)db).ObjectContext; 
ctx.Refresh(); 

question này có thêm về các chi tiết và sự khác biệt.

1

LINQ-to-SQL có lớp học tương tự gây nhầm lẫn DataContext, có phương pháp này.

Khuôn khổ thực thể: không.

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