entity-framework - EF Core 2.0通用DbSet没有方法AsNoTracking

标签 entity-framework ef-core-2.0

我正在尝试实现如下所述的通用存储库
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/

相关文章:

.net - 使用异步和集合

c# - 标记为只读的 EF 核心计算属性

asp.net-core - 如何运行 `dotnet ef` 命令以定位 EF Core 2.0 中的特定 appsettings.[environment].json

entity-framework - Entity Framework CTP5 和 Ninject 作为我的 IOC

c# - Entity Framework Core 3 原始 SQL 缺少方法

c# - 初始化 Entity Framework 上下文的最佳方法?

c# - EF Core - 索引中的导航属性

entity-framework-core - 如何在包管理器控制台中首先在 EF Core/数据库中添加表?

ef-core-2.0 - 迁移错误 - 无法构建 DirectConstructorBinding 类型的文字

entity-framework-core - 已创建超过 20 个 'IServiceProvider' 实例供 Entity Framework 内部使用