2011-09-09 44 views
0

嗨,是否有可能使用實體框架和/或LINQ來選擇一定數量的行?例如,我想選擇第0行到第500000行,並將這些記錄分配給List VariableAList對象,然後選擇行500001 - 1000000並將其分配給List VariableBList對象等。選擇一定數量的記錄進行批處理

其中Numbers對象與ID ,數,dateCreated會,DateAssigned等

回答

1

聽起來你正在尋找的.Take(int).Skip(int)方法

using (YourEntities db = new YourEntities()) 
{ 
    var VariableAList = db.Numbers 
     .Take(500000); 

    var VariableBList = db.Numbers 
     .Skip(500000) 
     .Take(500000); 
} 

您可能要警惕在內存中這些列表的大小。

注:您可能還需要之前使用.Skip.Take - 我依稀記得運行到過去這一問題的.OrderBy條款。

+0

歡呼這就是我所追求的,正在玩弄,但沒想到它與跳過結合!你碰巧知道什麼是一個好的大小(在內存方面)使用? –

+1

這有點主觀取決於你的硬件等。但是,儘可能使用'IQueryable'可以提供幫助,這將取決於你如何使用這些記錄。運行你自己的基準測試可能會讓你知道你的環境中是否有500,000條記錄代表着重大的內存衝擊 –

相關問題