当 EF (2.2 & 3) 在查询蠕虫时,我收到以下警告:
<块引用>导航 '[x].something' 的 Include 操作是不必要的,因为导航在最终查询结果中无法访问而被忽略。
我知道它的原因,我正在寻找一种解决方案来抑制它。
是什么原因造成的?返回新类型列表的扩展,类似于书页,对象包含页面上的项目列表以及 3 个额外的道具、所有项目的总数、页面和页面大小。
public static BookPageList<T> ToBookPageList<T>(this IQueryable<T> dataSet, IBookPageFilter filter)
{
var result = new BookPageList<T>();
IQueryable<T> range = dataSet
.Skip((filter.Page- 1) * filter.PageSize)
.Take(filter.PageSize);
result.AddRange(range.ToList());
result.Total = dataSet.Count(); // here wormup warning happens
result.PageSize = filter.PageSize;
result.Page = filter.Page;
return result;
}
如果数据集有包含,则会显示警告。
var bookPageItems = dbcontext.Item
.Include(x => x.NavProp1)
.Include(x => x.NavProp2)
.OrderBy(x => x.Id)
.ToBookPageList(filter);
我想删除警告,因为它会污染云日志,有时只是很多,并且不能更改日志记录的详细程度。
有什么办法可以在书页扩展方法中处理吗?我真的很喜欢这个扩展。