Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Ép kiểu sang IEnumerable với AsEnumerable() C#

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.