這是我的情況:我試圖儘可能遵循3層模式(即演示,業務和數據層)。當我需要來自數據庫的數據時,業務層會調用返回信息的數據層。數據層永遠不會返回SqlDataReader或DataTable對象,但通常是數據訪問層已知的自定義對象的枚舉。當數據層必須返回一個包含少量對象的列表時,它工作得非常好。3層模式和大量的數據
我現在正面臨這個問題,我的應用程序(業務層)必須處理500000條記錄。我可以簡單地將另一種方法添加到我的數據層並返回一個IEnumerable,但這個聲音對我來說很糟糕。我不想在內存中加載五十萬條記錄。
我的問題是,考慮到3層模型,我應該如何處理這種情況?如果我沒有3層模式,我只需在業務類中使用SqlDataReader。有什麼建議麼?
更新:數據將不會顯示,所以這不是一個分頁問題(表示層根本沒有涉及)。我只需要分析每條記錄,然後保留其中的一部分。
謝謝