SORU
16 EKİM 2009, Cuma


Kullanarak Seri ile IQueryable

SERİ kapsamında IQueryable kullanımı nedir?

Uzatma yöntemleri ya da başka bir amaç geliştirmek için kullanılır?

CEVAP
16 EKİM 2009, Cuma


Marc Gravell's answer çok tam, ama bakış kullanıcı açısından bu konuda bir şeyler eklemek istedim...

< / ^ hr .

Temel fark, bir kullanıcının bakış açısından,, IQueryable<T> (doğru şeyleri destekleyen bir sağlayıcı ile) kullandığınızda, kaynakların bir çok kaydedebilirsiniz.

Örneğin, eğer sen çalışmaya karşı bir uzak veritabanı ile birçok ORM sistemleri, seçeneğin getirme veri bir tablo içinde iki yol, bir döner IEnumerable<T> ve bir döner IQueryable<T>. Diyelim ki, örneğin, Ürün bir tablo var, ve ^ olan tüm ürünler almak istiyorum . $25.

Eğer bunu yaparsanız:

 IEnumerable<Product> products = myORM.GetProducts();
 var productsOver25 = products.Where(p => p.Cost >= 25.00);

Burada neler oluyor, veritabanı yükler tüm ürünler ve programınızı kablo üzerinden iletir. Programı daha sonra verileri filtreler. Biçimlendir, bir veritabanı yok "SELECT * FROM Products", ve döner HER Ürün için.

Diğer yandan IQueryable<T> sağlayıcı hakkı ile, bunu yapabilirsiniz:

 IQueryable<Product> products = myORM.GetQueryableProducts();
 var productsOver25 = products.Where(p => p.Cost >= 25.00);

Kodu aynı görünüyor, ama fark burada SQL yürütülen "Ürünlerden SEÇİN * * * * * ^ Mal oldu . = 25".

Bir geliştirici olarak sizin POV, bu aynı görünüyor. Ancak, performans açısından bakarsak, sadece döndürebilir 2 ağ üzerinden yerine 20,000...kayıtları.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • OnlyFunClips

    OnlyFunClips

    16 ŞUBAT 2012
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006
  • TheGamer2323

    TheGamer2323

    25 Ocak 2009