摘要
在使用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);