首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(col1,col2,.)

(col1,col2,.)
EN

Stack Overflow用户
提问于 2022-05-31 15:59:39
回答 1查看 61关注 0票数 0

我正在使用C#中的LINQ进行搜索。

基本上,在SQL中,

代码语言:javascript
复制
SELECT *
FROM myDB
WHERE searchTerm IN (col1, col2, . . . );

由于我无法在LINQ中找到一种方法来实现它,这就是我所做的。

代码语言:javascript
复制
var v = (from item in myDB
    where item.COL1.Contains(searchTerm) 
    || item.COL2.Contains(searchTerm) 
    || item.COL3.Contains(searchTerm) 
    ...
    select item);

有更聪明的方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-31 16:56:43

与您的SQL代码等效的是:

代码语言:javascript
复制
    from item in myDB
    where item.COL1 == searchTerm
    || item.COL2 == searchTerm 
    || item.COL3 == searchTerm
    ...
    select item

或者:

代码语言:javascript
复制
myDB.Where(item => item.COL1 == searchTerm
    || item.COL2 == searchTerm
    || item.COL3 == searchTerm
    ...)

由于您使用的是有限的、硬编码的列列表,所以这样在代码中保留一点重复可能会很好。如果您需要列列表是动态的,您可以构建一个标准列表,并使用code like this将这些条件“或”放在一起。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72450900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档