【发布时间】:2020-05-07 10:45:06
【问题描述】:
我正在尝试使用 LINQ 获取值列表。
我有这样的代码:
var _context = _scope.ServiceProvider.GetRequiredService<VMContext>();
if (boolparameter)
{
var listCE = _context.Ce
.Where(x => x.VuId == element.VuId)
.Where(x => x.Score == 8)
.AsNoTracking()
.ToList();
}
else
{
var listCE = _context.Ce
.Where(x => x.VuId == element.VuId)
.AsNoTracking()
.ToList();
}
取决于布尔参数,我做一个查询或另一个。有没有办法使用带有条件的单个查询? 比如:
var listCE = _context.Ce
.Where(x => x.VuId == element.VuId)
.Where(x => boolparameter ? x.Score == 8 : true)
.AsNoTracking()
.ToList();
C# Asp.NetCore SqlServer 2019 非常感谢!
【问题讨论】:
-
其他答案很好,但可能有点难以理解。我发现这更容易理解。
(boolparameter && x.Score==8) || !boolparameter。当然,如果您将其简化,它将变得像给出的答案一样。
标签: c# sql-server linq tsql asp.net-core