手记

[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);

 

0人推荐
随时随地看视频
慕课网APP