2010-05-20 12 views
18

için LINQ kullanarak üst N kayıtları alın. Sorgu ve diğer tümceleri sorgulamak için sadece en iyi N kayıtlarına ihtiyacım var. Bu mümkün mü yoksa foreach döngüsünü kullanarak en iyi N almak zorunda mıyım?Ben varlıklara Linq kullanıyorum ve sorguladığınızda ben kayıtlarının sınırlı sayıda alabilirsiniz olmadığını bilmek istiyorum varlıkları

+0

http atlayabilirsiniz: // stackoverflow. com/questions/2874599/get-top-n-records-using-linq-to-entities –

cevap

28

sadece sonucun bir çift almak için .Take yöntem çağrısını kullanabilirsiniz. Bu konu hakkında daha fazlasını okuyabilirsiniz here.

Birinin GetEnumerator() yürütür sürece sorgu yürütülmez anlamak gerekir.

28

birden çok yolu

1)

var data = (from p in db.people 
      orderby p.IdentityKey descending 
      select p).Take(100); 

2)

var query = db.Models.Take(100); 

3) vardır ya Kesin sonuçlar

var data = (from p in people 
      select p).Skip(100); 
+0

IdentityKey Guid ise? Herhangi bir çözüm? –

+0

Sonra ya hiç sıralamayın ya da başka bir sütun değerine göre sıralayın –

İlgili konular