做这样的事情的正确方法是什么。
db.Tasks.Where(t => {t.CategoryId == 1 || t.CategoryId == 2) || t.CategoryId == 3)}).ToList();
您的括号目前是错误的,无论是花括号还是普通括号。您实际上不需要表达式中的任何括号 - 这很好(为清晰起见重新格式化):
var list = db.Tasks
.Where(t => t.CategoryId == 1 ||
t.CategoryId == 2 ||
t.CategoryId == 3)
.ToList();
一个 lambda 表达式就是这样——它由一个普通的表达式组成。(如a || b || c
)
大括号用于语句,而不是表达式。
只需删除{}
,就可以了。
你也有一些流浪)
。