2008-08-21 18 views
15

Bir System.Generic.Collections.List (Of MyCustomClass) türü nesnem var.Genel koleksiyon çağrı için Linq'i nasıl kullanırım?

Tamsayı varaibles sayfaları ve sayfa numarası verildiğinde, MyCustomClass öğelerinin yalnızca tek bir sayfasını nasıl sorgulayabilirim? Eğer görüntülemek istediğiniz tüm satırları içeren linq-sorgu varsa

+0

Bunu yapmak için Take and Skip işlevine sahip olduğunuza inanıyorum. –

cevap

29

bu kod kullanılabilir:

var pageNum = 3; 
var pageSize = 20; 
query = query.Skip((pageNum - 1) * pageSize).Take(pageSize); 

Ayrıca nesne üzerinde bir uzantısı yöntemi yapabilirsiniz

yazabilmek için Eğer istediğin istediğiniz ise
query.Page(2,50) 

sayfa 2'nin ilk 50 kayıtlara ulaşmak, bilgi solid code blog.

5

Hi üzerindedir PagedList denilen kötü bir şey yoktur ki i Rob Conery Screen Cast izlerken izlerken var.

http://blog.wekeroad.com/2007/12/10/aspnet-mvc-pagedlistt/

sürümün atla ve yerleşik şeyler alın.

Tek yapmanız ..

var query = from item in DB.Table 
where item.Field == 1 
orderby item.Field2 
select item; 

PagedList<MyType> pagedList = query.ToPagedList(pageIndex, pageSize); 

Umarım yardımcı olur görüşme olduğunu ben şimdi kullanıyorum ve işe yarıyor linq varlıklar için tamam. Linq ile varlıkları atla ve al'ı kullanabilmeniz için önce bir emir yerine getirmeniz gerekir.

İlgili konular