我正在尝试使用Entity Framework查询数据库,并且我有以下代码可用于获取一些数据。
var students= MyEntities.Students.Where(s => s.Age > 20).ToList();
这段代码可以正常运行并返回正确的数据。但是,如果我运行此代码,然后转到数据库并更新记录以更改此代码应返回的数据,然后在不关闭应用程序的情况下重新运行此代码,则会获取原始数据。 我很确定它曾经可以正常工作,但现在它没有刷新数据。
我正在尝试使用Entity Framework查询数据库,并且我有以下代码可用于获取一些数据。
var students= MyEntities.Students.Where(s => s.Age > 20).ToList();
这段代码可以正常运行并返回正确的数据。但是,如果我运行此代码,然后转到数据库并更新记录以更改此代码应返回的数据,然后在不关闭应用程序的情况下重新运行此代码,则会获取原始数据。 我很确定它曾经可以正常工作,但现在它没有刷新数据。
ObjectQuery query = MyEntities.Students;
query.MergeOption = MergeOption.OverwriteChanges;
var students = query.Where(s => s.Age > 20).ToList();
MergeOption.NoTracking
吗?这将强制查询命中数据库。 - NixNoTracking
时,如果您已经在“缓存”中拥有实体,会发生什么,因为当使用延迟加载EF时,它仍然会保留它们。 - Ladislav Mrnka