使用“链接到实体”从数据存储中选择许多行
本文关键字:存储 数据 选择 许多行 链接 实体 链接到实体 使用 | 更新日期: 2023-09-27 18:02:04
我们需要接受来自用户输入的键值集合。然后,必须在L2E数据存储上执行查询,该数据存储应选择集合中包含键的所有行。到目前为止,我得到的最好的是:
var lines = dataStore.Entities.ToList(); /* To List to force a query */
var selectedLines = lines.Where(line=> inputValues.Contains(line.key)).Distinct();
然而,这看起来似乎很浪费,因为我们为了选择(可能)一小部分行而拉出整个数据存储。执行匹配每个键值(列被索引)的单独查询是否更浪费,或者是否有更好的方法使用Linq语法,我错过了?
EF4支持contains
,所以你可以直接使用它。
var selectedLines = dataStore.Entities
.Where(line=> inputValues.Contains(line.key))
.Distinct();
您应该在第一个查询中包含这些内容。
这将只返回用户指定的值。
我还建议你看看LinqPad,这是一个非常好的工具,它会显示Linq对实体创建的查询。
var lines = (from p in dataStore.Entities
where inputValues.Contains(p.key)
select p).ToList();