我正在使用C#中的LINQ进行搜索。
基本上,在SQL中,
SELECT *
FROM myDB
WHERE searchTerm IN (col1, col2, . . . );由于我无法在LINQ中找到一种方法来实现它,这就是我所做的。
var v = (from item in myDB
where item.COL1.Contains(searchTerm)
|| item.COL2.Contains(searchTerm)
|| item.COL3.Contains(searchTerm)
...
select item);有更聪明的方法吗?
发布于 2022-05-31 16:56:43
与您的SQL代码等效的是:
from item in myDB
where item.COL1 == searchTerm
|| item.COL2 == searchTerm
|| item.COL3 == searchTerm
...
select item或者:
myDB.Where(item => item.COL1 == searchTerm
|| item.COL2 == searchTerm
|| item.COL3 == searchTerm
...)由于您使用的是有限的、硬编码的列列表,所以这样在代码中保留一点重复可能会很好。如果您需要列列表是动态的,您可以构建一个标准列表,并使用code like this将这些条件“或”放在一起。
https://stackoverflow.com/questions/72450900
复制相似问题