我正在使用 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);
有更聰明的方法嗎?
uj5u.com熱心網友回復:
相當于您的 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
...)
由于您使用的是有限且硬編碼的列串列,因此以這種方式在代碼中保留一些重復可能很好。如果您需要動態的列串列,您可以構建一個標準串列并使用這樣的代碼將這些標準“或”在一起。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/484605.html
上一篇:按多個條件分組串列,LINQ
