筛选基于二维数组的 LINQ 到实体查询
本文关键字:实体 查询 LINQ 二维数组 筛选 | 更新日期: 2023-09-27 17:56:25
这是一个Linq2entities的挑战...
我有一个实体(ID,类别ID,值)和一个带有类别ID/值对的二维整数数组。我需要按每对过滤所有实体,如下所示:
from e in Entity
where (e.CategoryID and e.Value) in array
select e;
所以基本上是一个"两个链接字段"过滤器。
一个肮脏的解决方案是连接和比较,例如:
concatarray = some function to concat CategoryID + "/" + Value;
from e in Entity
where e.CategoryID + "/" + e.Value in concatarray
select e;
但由于性能问题,我不想使用它。
知道吗?
多谢!
首先,我会将您的数组转换为具有特定属性的对象列表。为此使用 2D 数组不是好主意。
然后,查询可能无法转换为 EF 中的 SQL。
from e in Entity
where array.Where(a=>a.CategoryID == e.CategoryID && a.Value == e.Value).Any()
select e