gpt4 book ai didi

c# - LINQ 中的可迭代析取

转载 作者:行者123 更新时间:2023-12-05 03:01:00 27 4
gpt4 key购买 nike

假设,我有一个 IQuerable 集合和一些字符串列表。

我可以这样构建查询:

foreach (var somestring in somestrings)
{
collection = collection.Where(col=>col.Property.Contains(somestring);
}

这将产生以下 SQL 查询:

SELECT ...... FROM ..... WHERE 
(Property LIKE '%something1%') AND
(Property LIKE '%something2%') AND
(Property LIKE '%something3%')

请注意,WHERE 子句与 AND 相关联。

有没有办法构造类似的查询,但与 OR 相关联?

最佳答案

您可以在一个查询中执行此操作而无需使用 Any 循环:

var result = collection
.Where(col => somestrings
.Any(s => col.Property.Contains(s)));

或者使用简化语法的相同查询:

var result = collection
.Where(col => somestrings
.Any(col.Property.Contains));

关于c# - LINQ 中的可迭代析取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56337731/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com