SORU
24 AĞUSTOS 2010, Salı


Liste, IList, IEnumerable, IQueryable, en esnek olan ICollection, yazın geri?

Bu soru burada daha önce bir ilan gördüm ama tam sonuçları anladığım kadarıyla memnun değilim. Sorun türü maksimum esneklik ve sorgu yeteneği için lınq-to-sql dönüş kullanan bir veri katman gerekir. Bunu buldum:/okudum

  1. Ienumerable sınırlıdır ve sadece okuma işlemi iletmek için izin verir. Ienumerable en genel. Ne buldum IEnumerable sorgu işlemleri vs uzantısı sözdizimi izin vermiyor.

  2. Listenin en ekleme işlemleri nedeniyle esneklik sağlar.

  3. Koleksiyon sadece koleksiyon okuma etkinleştirmek için liste yerine kullanılmalıdır.

  4. Iqueryable asla kullanılmamalıdır olmalı "kullanılan ve kapalı" oldu. Iqueryable bir liste dönmek yok ama veritabanı için bir sorgu sözdizimi oluşturur.

Ben ticaret off için daha iyi bir fikir var ama hala birkaç şey hakkında emin değil hissediyorum:

  1. Neden beton türleri üzerinde arabirimi türevleri seçtim? I. e veya IList, ICollection vs Listesi veya Koleksiyon. Yararı ne olur?

  2. Ben uzatma işlemleri iş görüyor ama genişletilmiş sorgu sözdizimi de çalışır mı?

  3. Birisi AsQueryable kullanıyorum önerdi() önce. Ama, neden veritabanına bağlantı yok diye böyle bir şey yapayım? Yöntemleri ne olursa olsun işe uzantısı gibi görünüyor.

CEVAP
19 HAZİRAN 2012, Salı


Ienumerable<>=>Kullanımı 'foreach' bir koleksiyonu sağlar

Icollection<>=>IEnumerable<^ gibi . (Ekle), Remove(), Count, Clear(), İçerir(), Isreadonly, CopyTo()

Ilist<>=>ICollection<^ gibi . bu[int], Insert(), karakterlerden oluşan, RemoveAt(). yani. Dizin türü ekler liste operatörler

•Kullanabilir 'de sonuç ???' IEnumerable<^ ile birlikte . tek seferde sadece 1 nesne döndürmek için. Bu IEnumerable gerçek güç (sadece bir liste veya bir dizi döndürmek değil) giriyor.

Bir liste döndürürken •kullanıcı için açık ve uygun türü döndürebilir ne olduğuna karar verin.

•Belki ICollection<^ dönmek için elinden geleni . veya IList<>ve eğer kod yalnızca istemci listesini sıralamak gerekiyorsa IEnumerable<^ koyun . . yani. ICollection SomeMethod () verilen ... kullanıcı IEnumerable Widget olarak çağırmak olabilir = SomeMethod()

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ehowhome

    ehowhome

    22 NİSAN 2009
  • K-391

    K-391

    23 EKİM 2012
  • SPBedition

    SPBedition

    24 HAZİRAN 2013