我正在尝试实现如下所述的通用存储库
https://codingblast.com/entity-framework-core-generic-repository/
似乎通用DbSet没有实现方法AsNoTracking(),我使用的语法不正确吗?如何解决这个问题
public class BaseRepository<TEntity> : IGenericRepository<TEntity>
where TEntity : class
{
private readonly DbContext _dbContext;
public BaseRepository(DbContext dbContext)
{
_dbContext = dbContext;
}
public IQueryable<TEntity> GetAll()
{
return _dbContext.Set<TEntity>().AsNoTracking();
}
}
最佳答案
这里没有要修复的东西。AsNoTracking
方法仅以某种方式配置查询,一旦被枚举,它将不会跟踪那些实体上的更改。
当您执行只读操作且在该过程中不会进行任何编辑时,此功能很有用。这样做是为了提高速度和效率。
因此,该方法没有可以异步的功能。
枚举查询时,将使用Async方法,例如:ToListAsync()
或SingleOrDefaultAsync()
关于entity-framework - EF Core 2.0通用DbSet没有方法AsNoTracking,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46638027/