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

  • HTC Tutorials

    HTC Tutorial

    21 EYLÜL 2010
  • Sali Kaceli

    Sali Kaceli

    24 ŞUBAT 2009
  • ThePhestor

    ThePhestor

    22 Mart 2011