2010-07-27 23 views
10

Bu basit bir soru (bence), ancak bir çözüm bulamadım. Diğer sorgu türleri ile biliyorum, sorguyu yalnızca bu kadar çok sonuç için döndüren bir sınırlama maddesi ekleyebilirsiniz. Bir varlık sorgusu ile bu mümkün mü?Nesne çerçevesiyle sorgu boyutunu sınırlandırma

Sadece bu sorguyu yalnızca 25 sürüm nesnesini döndürecek şekilde yapmak istiyorum. Herhangi bir yardım için teşekkürler.

cevap

32

emin .. böyle yapabilirsin örneğin:

var productQuery = from b in solutionContext.Version 
          where b.Product.ID != 1 && b.VersionNumber == b.Product.ActiveNumber 
          orderby b.Product.LastNumber 
          select b; 

var limitedProductQuery = productQuery.Take(25); 

ayrıca çağrı sonuçları için bu gerekebilir:

var pagedProductQuery = productQuery.Skip(25 * page).Take(25) 
+0

sonuçları bellekte kısıtlamadan önce e tablosu. –

+5

David .. hayır, onun değil .. Tutarlı nesnesi .. sorguya eşdeğer ... Bazı nesneler almayı veya ToList yöntemini vb. Kullanmaya çalışacağı zaman yürütür. –

+0

@David, o orijinal sorgu kuvvetlerinin icrası ? – Marc

3

aradığınız ne Take geçerli:

var productQuery = (from b in solutionContext.Version 
        where b.Product.ID != 1 
         && b.VersionNumber == b.Product.ActiveNumber 
        orderby b.Product.LastNumber 
        select b).Take(25); 
3
var productQuery = (from b in solutionContext.Version 
          where b.Product.ID != 1 && b.VersionNumber == b.Product.ActiveNumber 
          orderby b.Product.LastNumber 
          select b).Take(25); 
İlgili konular