DBContext DBSet查询和无跟踪选项

时间:2012-10-16 17:35:34

标签: entity-framework

基于Entity Framework and DbContext - Object Tracking等其他帖子 看起来简化的DBContext接口不会暴露对基本查询设置无跟踪。 一个小博客,展示了如何使用Object上下文 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);
    }

1 个答案:

答案 0 :(得分:6)

AsNoTracking是IQueryable的扩展。

您可以使用以下方式更新上述功能:

public virtual IQueryable<T> GetList(Expression<Func<T, bool>> predicate)
    {
         return EntityDbSet.Where(predicate).AsNoTracking();
    }