我在理解 Linq 时遇到了一些麻烦。在 vb.net 中使用以下 linq:
Dim qeurySearch = (From P In DB.table1
Where P.number = searchInput And P.valueCol = 2 OrElse
P.valueCol= 3 OrElse P.valueCol = 4
Select P.number , P.valueCol
).ToList
我从中得到的是 4 条记录……它们都不是 searchInput。因此,假设 searchinput 为“102”,同一张表中的 valueCol 的值为“1”。然后我期望它不起作用,它不会给我任何记录。但那是错误的。
发生的事情是它完全忽略了我在 WHERE 子句中的 searchInput 并给出了 P.valueCol = 4 记录。好像那个是唯一的 WHERE 子句。
有谁知道我如何以正确的方式过滤我的查询?通过给出 P.Number 并且该列只能具有 1,2 或 3 的 P.valueCol。