我需要从IQueryable创建一个IEnummerable的DcumentSearch对象 以下代码会导致数据库加载使我的应用程序变慢的整个结果。装饰IEnumerable而不循环
public static IEnumerable<DocumentSearch> BuildDocumentSearch(IQueryable<Document> documents)
{
var enumerator = documents.GetEnumerator();
while(enumerator.MoveNext())
{
yield return new DocumentSearch(enumerator.Current);
}
}
您正在枚举所有文档并且不希望加载所有文档?在这种情况下你会列举什么? –
使用IEnumerable时应该修饰它 – Aphelion
您显示的代码不应该加载数据库中的数据。只有在枚举该方法的结果时,才能加载数据。这是正确的,因为否则你就没有什么可迭代的。 –