我需要從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
您顯示的代碼不應該加載數據庫中的數據。只有在枚舉該方法的結果時,才能加載數據。這是正確的,因爲否則你就沒有什麼可迭代的。 –