Ane*_*ook 0 .net c# linq if-statement
我该如何简化这样的陈述:
var someList = new List<someType>();
if (String.IsNullOrEmpty(groupId))
{
someList = CTX.Values.Include(c => c.Customer).ToList();
}
else
{
someList = CTX.Values.Include(c => c.Customer).Where(c => c.GroupId== groupId).ToList();
}
Run Code Online (Sandbox Code Playgroud)
区别仅在于.Where(c => c.GroupId== groupId).是否可以String.IsNullOrEmpty(groupId)在查询语句中包含条件?
您可以通过多个步骤构建查询.只需Where在groupId非空时添加零件.
只有在您打电话后才会执行查询ToList().
var values = CTX.Values.Include(c => c.Customer);
if(!String.IsNullOrEmpty(groupId))
values = values.Where(c => c.GroupId == groupId);
someList = values.ToList();
Run Code Online (Sandbox Code Playgroud)