Tôi đang gặp khó khăn trong việc tìm ra điều gì đó với Entity Framework Code Công cụ đầu tiên trong CTP 5. Nó đang làm bộ nhớ đệm của các đối tượng và tôi không muốn nó. Ví dụ, tôi tải một trang (làm việc với một trang ASP.NET MVC) tải một đối tượng. Sau đó tôi đi thay đổi cơ sở dữ liệu. Tôi tải lại trang và các thay đổi không được phản ánh. Nếu tôi giết các trang web và chạy lại nó sau đó nó rõ ràng re-fetches. Làm thế nào để tôi, hoặc nói chung cho một loại, hoặc thậm chí cho một truy vấn cụ thể, bảo nó luôn luôn đi lấy một bản sao mới. Tôi nghĩ rằng nó có thể có một cái gì đó để làm với MergeOption nhưng tôi gặp khó khăn trong việc tìm kiếm các ví dụ làm việc với CTP 5. Cảm ơn.Tắt Object Caching trong Entity Framework CTP5
10
A
Trả lời
15
OK, đã tìm ra. Sau đây đôi khi sẽ kéo từ bộ nhớ cache EF:
return (from m in _dataContext.Monkeys
where m.MonkeyId == monkeyId
select m).FirstOrDefault();
Bạn có thể sử dụng AsNoTracking() để bỏ qua những thứ thay đổi theo dõi/bộ nhớ đệm:
return (from m in _dataContext.Monkeys.AsNoTracking()
where m.MonkeyId == monkeyId
select m).FirstOrDefault();