C#中Linq的表关联查询尽量使用Contains代替

陋室铭 / 2023-07-25 / 原文

C#中Linq的表关联查询尽量使用Contains代替。

Linq中表关联查询如果数据量大,效率会比较低。当然,这里要求查询的ID是list中的唯一值,而且与list中其他ID不能有包含关系。

            var result = from A in list1
                       from B in list2
                       where A.ID1== B.ID2
               select A;

转换成:

            var result = from A in list1
                         where list2.Contains(A.ID1)
                         select A;