为了保证数据库更新页面也能同步更新,我在db.database.tolist()中变成了db.database.AsNoTracking().tolist(); |
|
10分 |
这不是AsNoTracking的问题,而是EF的DbContext的误用。DbContext应该是每次需要时都用新的,这时使用AsNoTracking一般是为了提高查询性能,而不是为了不使用缓存数据。如果需要不缓存查询单个数据,就是 AsNoTracking 后 First / FirstOrDefault。
|
30分 |
TableText tabletext = db.tbText.Find(id);
改成 TableText tabletext = db.tbText.AsNoTracking().ToList().Find(m => m.ID == id); 这样应该不报错吧. 至于数据模型缓存更新,我也一知半解. |
可以,先这样做吧,发现好办法再说.
|