Tôi gặp sự cố với các đối tượng làm mới trong cơ sở dữ liệu của mình. Tôi có hai máy tính và hai ứng dụng.Entity Framework - làm mới các đối tượng từ cơ sở dữ liệu
Trên PC đầu tiên, có một ứng dụng giao tiếp với cơ sở dữ liệu của tôi và thêm một số dữ liệu vào bảng Đo lường. Trên máy tính khác của tôi, có một ứng dụng truy xuất Bộ đo mới nhất dưới một bộ hẹn giờ, vì vậy nó cũng nên thử lại các phép đo được thêm vào bởi ứng dụng trên PC đầu tiên của tôi.
Vấn đề là không. Khi ứng dụng của tôi bắt đầu, nó lưu trữ tất cả dữ liệu từ cơ sở dữ liệu và không bao giờ nhận được dữ liệu mới được thêm vào. Tôi sử dụng phương thức Refresh() hoạt động tốt khi tôi thay đổi bất kỳ dữ liệu nào được lưu trong bộ nhớ cache, nhưng nó không làm mới dữ liệu mới được thêm vào.
Đây là phương pháp của tôi mà phải cập nhật dữ liệu:
public static Entities myEntities = new Entities();
public static Measurement GetLastMeasurement(int conditionId)
{
myEntities.Refresh(RefreshMode.StoreWins, myEntities.Measurements);
return (from measurement in myEntities.Measurements
where measurement.ConditionId == conditionId
select measurement).OrderByDescending(cd => cd.Timestamp).First();
}
T.B. Ứng dụng có các chuỗi kết nối khác nhau trong app.config (các tài khoản khác nhau cho cùng một DB).
Bạn có thể kiểm tra câu trả lời của tôi ở đây http://stackoverflow.com/questions/1746941/objectcontext-refresh –