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

  • Gigawipf

    Gigawipf

    18 ŞUBAT 2010
  • Glove and Boots

    Glove and Bo

    1 ŞUBAT 2007
  • International Secret Agents Concerts

    Internationa

    2 Aralık 2008