- Ibilangan wujud dalam ruang nama System.Collections.
- IQueryable wujud dalam Sistem. Ruang nama Linq.
- IEnumerable dan IQueryable kedua-duanya adalah koleksi hadapan.
- IEnumerable tidak menyokong pemuatan malas
- IQueryable menyokong pemuatan malas
- Apabila menanyakan data daripada pangkalan data, IEnumerable melakukan pertanyaan pilihan pada bahagian pelayan, memuatkan data ke dalam memori pada bahagian klien, dan kemudian menapis data.
- Untuk menanya data daripada pangkalan data, IQueryable melaksanakan bahagian pelayan pertanyaan terpilih dengan semua penapis.
- Iebilangan kaedah sambungan mengambil objek fungsi.
- Kaedah sambungan IQueryable mengambil objek ekspresi yang bermaksud pokok ekspresi.
Contoh
IEnumerable
dbContext dc = new dbContext ();
IEnumerable
<SocialMedia>
list = dc.SocialMedias.Where(p => p.Name.StartsWith("T"));
list = list.Take<SocialMedia>(1);
</SocialMedia>
Salin selepas log masuk
Sql statement dijana untuk pertanyaan di atas
SELECT [t0].[ID], [t0].[Name] FROM [SocialMedia] AS [t0]
WHERE [t0].[Name] LIKE @p0
Salin selepas log masuk
Queryable
dbContext dc = new dbContext ();
IQueryable<SocialMedia> list = dc.SocialMedias.Where(p => p.Name.StartsWith("T"));
list = list.Take<SocialMedia>(1);
Salin selepas log masuk
Sql statement dijana untuk pertanyaan di atas
SELECT top 1 [t0].[ID], [t0].[Name] FROM [SocialMedia] AS [t0]
WHERE [t0].[Name] LIKE @p0
Salin selepas log masuk
Atas ialah kandungan terperinci Apakah perbezaan antara IEnumerable dan IQueryable dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!