根据实体框架和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);
}
Run Code Online (Sandbox Code Playgroud)
该AsNoTracking是IQueryable的一个扩展.
您可以使用以下命令更新上述功能:
public virtual IQueryable<T> GetList(Expression<Func<T, bool>> predicate)
{
return EntityDbSet.Where(predicate).AsNoTracking();
}
Run Code Online (Sandbox Code Playgroud)