2014-04-25 3 views
0

J'ai besoin d'obtenir tous les enregistrements de la table avec Take = 1000 et ignorer tous les enregistrements pris. Comment dois-je mettre en œuvre?Obtenir des données dans des parties de la base de données

var result = context.MyDB.Where(x=>x.ID = ID).Take(1000); 
+0

Qu'est-ce qu'un enregistrement taked? Peux-tu considérer que nous ne sommes pas dans ton cerveau? Dans une sélection normale, vous n'avez jamais à sauter quelque chose - c'est un besoin d'affaires et vous devez en quelque sorte - ah - comme une question complète ici. – TomTom

+0

Voulez-vous dire que vous voulez obtenir tous les enregistrements de la table, mais 1000 enregistrements à la fois? –

+0

Simon Clough, oui, je veux obtenir tous les enregistrements par 1000 enregistrements à l'heure – zrabzdn

Répondre

3

Si vous voulez prendre toutes les enregistrements de la DB, 1000 à la fois, quelque chose comme ça devrait faire le travail alors.

var startRecord = 0; 
var records = db.where(x=>x.ID ==ID).Skip(startRecord).Take(1000); 
while (records.Any()) 
{ 
    startRecord += 1000; 
    // do something with your records 

    records = db.where(x=>x.ID ==ID).Skip(startRecord).Take(1000); 
} 
1

Si je vous comprends bien, vous devez essayer d'ignorer les prises avant si

var result = context.MyDB.Where(x=>x.ID =ID).Skip(20000).Take(1000); 

20000 peut être votre (pageNumber -1) * pagesize

+0

Et si dans ce tableau nous avons seulement 1000 enregistrements. –

Questions connexes