6

根据实体框架和 DbContext - 对象跟踪等其他帖子, 简化的 DBContext 接口似乎没有公开设置对基本查询的无跟踪。一个小博客展示了如何使用对象上下文 http://blogs.microsoft.co.il/blogs/gilf/archive/2009/02/20/disabling-change-tracking-in-entity-framework.aspx

通过未跟踪的 DbContext 加载结果的好方法是什么?如果使用 Dbcontext ,性能意识如何?即有基本的 GetList 方法,出于性能原因,我想改进。

public DbSet<T> EntityDbSet { get { return _context.Set<T>(); } }
public virtual IQueryable<T> GetList(Expression<Func<T, bool>> predicate)
    {
         return EntityDbSet.Where(predicate);
    }
4

1 回答 1

8

The AsNoTracking is an extension on IQueryable.

You can update your function above with:

public virtual IQueryable<T> GetList(Expression<Func<T, bool>> predicate)
    {
         return EntityDbSet.Where(predicate).AsNoTracking();
    }
于 2012-10-16T18:18:56.297 回答