Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 20726|Yanıt: 0

[Kaynak] .net IQueryable ile IList arasındaki farklar

[Bağlantıyı kopyala]
Yayınlandı 22.08.2016 11:22:07 | | |

IList (IList<T>) hemen bellekte kalıcı veri oluşturur, bu da "ertelenmiş yürütme" uygulamayı uygulamaz ve yüklenen varlıkta ilişkili varlıklar varsa, ilgili varlık yüklenmez (ne hemen ne de tembel).

IQeurable<T>, bellekte hemen kalıcı veri oluşturmaz, yalnızca hafızaya yüklenir (örneğin forreach yoluyla), bir listeye dönüştürülürse ve "ertelenmiş yürütme" sağlayabilir; eğer şu anda yüklenen varlık ilişkilendirilirse, bu ilişkili varlık bir sonraki erişimde yüklenebilir.

Aşağıdaki kod parçasına bakın:
//IList的情况
IList kullanıcılar = çözünürlük. ToList(); Kullanıcılar belleğe yüklenmiştir, ancak her kullanıcının ilişkili varlığı (UserInfos) yüklenmemiştir
                       yüklüdür, bu yüzden bir sonraki kod satırı sorunsuz geçmez
var ss = kullanıcılar. Burada(p => p.UserInfos.ID != 3); Burada hata bildiriliyor çünkü P'nin UserInfos varlığı yüklenemiyor

IQuerable'ın durumu
IQueryable kullanıcılar = çözünürlük. AsQueryable(); kullanıcılar hemen yüklenmez ve ilgili varlık "tembel yükleme" ile elde edilebilir
                                   Anladım
var ss = kullanıcılar. Burada(p => p.UserInfos.ID != 3); Burada karşılık gelen SS başarıyla elde edilmiştir




Önceki:.net, kullanıcı bilgisi almak ve tarama işlevi için WeChat geliştirme yapıyor [kaynak koduyla]
Önümüzdeki:Alipay siparişi için disküz kullanımını takip edin @小渣渣
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com