我有这个代码:
var sites = context.SITES.OrderBy(s => s.NAME).ToList();
if (userId != 0)
sites = context.SITES.OrderBy(s => s.NAME).Where(s => s.Users.Any(x => x.ID == userId)).ToList();
是否可以在查询中使用if?我需要在一行代码中执行此代码
var sites = context.SITES.OrderBy(s => s.NAME)
if(userId != 0) {
.Where(s => s.Users.Any(x => x.ID == userId))
}
.ToList();
我想要这样东西
2条答案
按热度按时间jvidinwx1#
您可以在这里利用
IQueryable
/Entity Framework的'延迟执行'特性。因此,从初始查询开始:现在,如果需要,请添加过滤器:
最后,添加排序并使用ToList枚举结果:
pkmbmrz72#
您可以稍微修改一下,使其正常工作:
或者,您可以使用以下方式内联
if
: