[bug]不包含“AsNoTracking”的定义

摘要

在使用ef做查询优化的时候我们会用到AsNoTracking方法,但如果不引入命名空间,你就会出现不包含“AsNoTracking”的定义的错误。

解决办法

引入命名空间:System.Data.Entity

AsNoTracking是对IQueryable的扩展,看它的定义就可以知道,代码片段如下:

  //
        // 摘要: 
        //     Returns a new query where the entities returned will not be cached in the
        //     System.Data.Entity.DbContext or System.Data.Entity.Core.Objects.ObjectContext.
        //     This method works by calling the AsNoTracking method of the underlying query
        //     object. If the underlying query object does not have an AsNoTracking method,
        //     then calling this method will have no affect.
        //
        // 参数: 
        //   source:
        //     The source query.
        //
        // 类型参数: 
        //   T:
        //     The element type.
        //
        // 返回结果: 
        //     A new query with NoTracking applied, or the source query if NoTracking is
        //     not supported.
        public static IQueryable<T> AsNoTracking<T>(this IQueryable<T> source) where T : class;
  //
        // 摘要: 
        //     Returns a new query where the entities returned will not be cached in the
        //     System.Data.Entity.DbContext or System.Data.Entity.Core.Objects.ObjectContext.
        //     This method works by calling the AsNoTracking method of the underlying query
        //     object. If the underlying query object does not have an AsNoTracking method,
        //     then calling this method will have no affect.
        //
        // 参数: 
        //   source:
        //     The source query.
        //
        // 返回结果: 
        //     A new query with NoTracking applied, or the source query if NoTracking is
        //     not supported.
        public static IQueryable AsNoTracking(this IQueryable source);

 

posted @ 2017-06-08 09:49  wolfy  阅读(865)  评论(0编辑  收藏  举报