AsEnumerable() ép kiểu sang IEnumerable<T> để buộc dùng LINQ to Objects (in-memory) thay vì LINQ provider (EF, SQL). Extension method trong System.Linq.
Ví dụ minh họa
using System;
using System.Linq;
class Demo
{
static void Main()
{
int[] myArr = new int[10];
for (int i = 0; i < 10; i++)
myArr[i] = i + 1;
var a = myArr.AsEnumerable();
foreach (var item in a)
Console.WriteLine(item);
}
}
Kết quả đầu ra
1 2 3 4 5 6 7 8 9 10
Ứng dụng chính: dbContext.Table.AsEnumerable().Where(x => ComplexClientSideLogic(x)) - kéo dữ liệu về client để xử lý logic không thể dịch sang SQL.
Trùng lặp: Khái niệm giống ID 1003091790.