REST在查询时是无状态的,默认情况下是EfCore。我相信EfCore在没有轨道的情况下表现得更好。
在web中,对于任何Http_Get,我都使用dbContext.Set<TEntity>().AsNoTracking();来获取IQueryable而不是dbContext.Set<TEntity>().AsQueryable();。但是,在某些情况下,我必须跟踪实体,例如更新断开连接的实体。
对于所有的Http_GET请求,这是一种不跟踪查询的好方法吗?
发布于 2020-01-06 10:47:24
是的,使用.AsNoTracking()进行只读查询是一种很好的方法.
参见此文件输入
在只读场景中使用结果时,没有跟踪查询是有用的。它们执行起来更快,因为不需要设置更改跟踪信息。如果不需要更新从数据库中检索到的实体,则应该使用不跟踪查询。
https://stackoverflow.com/questions/59603990
复制相似问题