我使用的是EF6,使用的是存储库模式(存储库有自己的上下文实例)。当我使用FindAsync获取和修改实体时,更改不会被跟踪,因此任何被编辑的属性都不会保存在SaveChanges上。但是,我还通过IQueryable通过存储库公开了表,如果我以这种方式获得了一个实体,那么所有的更改都会被正确保存。我试图找出为什么在使用FindAsync方法时不跟踪更改。公开的表:
public IQuer
我尝试刷新正在显示数据的DxDataGrid,但是通过将日志添加到文件中,我已经确定从数据库查询返回的数据没有变化。我已经使用确认这些更改已应用于实际数据库,因此我相信我正在获得缓存的数据。我相信这种缓存与底层的UnitOfWork缓存有关,但是不管我尝试了什么,数据总是被缓存的,除非我做了实际的网页刷新,否则我无法获得显示的更改。) var query = (IQueryable
在从存储库获取数据并在业务层中操作数据时,我们遇到了一个问题,这些更新被无意地保存回数据库。 public class OdsRepository : IOdsRepository, IDisposable public OdsContext DbContext,我们使用的是Unity,所以我认为这可能与问题有关。本质上,我们将调用业务对象<