0
嗨,是否有可能使用實體框架和/或LINQ來選擇一定數量的行?例如,我想選擇第0行到第500000行,並將這些記錄分配給List VariableAList對象,然後選擇行500001 - 1000000並將其分配給List VariableBList對象等。選擇一定數量的記錄進行批處理
其中Numbers對象與ID ,數,dateCreated會,DateAssigned等
嗨,是否有可能使用實體框架和/或LINQ來選擇一定數量的行?例如,我想選擇第0行到第500000行,並將這些記錄分配給List VariableAList對象,然後選擇行500001 - 1000000並將其分配給List VariableBList對象等。選擇一定數量的記錄進行批處理
其中Numbers對象與ID ,數,dateCreated會,DateAssigned等
聽起來你正在尋找的.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
條款。
歡呼這就是我所追求的,正在玩弄,但沒想到它與跳過結合!你碰巧知道什麼是一個好的大小(在內存方面)使用? –
這有點主觀取決於你的硬件等。但是,儘可能使用'IQueryable'可以提供幫助,這將取決於你如何使用這些記錄。運行你自己的基準測試可能會讓你知道你的環境中是否有500,000條記錄代表着重大的內存衝擊 –