作为我上一个问题的延伸 Conditional WHERE clause on an Entity Framework context
这是我获得的EF代码,它成功获取Person表中DeletedFlag为假的所有记录
objRecord = await _context.Persons
.Where(tbl => tbl.DeletedFlag == false && tbl.Surname.Contains(theSurname))
.ToListAsync();
我现在想要根据其他条件以升序或降序有条件地对结果集进行排序。我可以像上面那样添加额外的代码
if (sortorder == "asc") {
objRecord = objRecord.OrderBy(tbl => tbl.Surname).ToList();
} else {
objRecord = objRecord.OrderByDescending(tbl => tbl.Surname).ToList();
}
将对列表进行排序并将其存储回自身,但是想知道是否有办法在初始调用中添加排序顺序条件。
修改
“这是一个重复的”链接指向一个LINQ示例,它的工作方式与我的第二个代码部分相同
if (sortorder == "asc") {
objRecord = objRecord.OrderBy(tbl => tbl.Surname).ToList();
} else {
objRecord = objRecord.OrderByDescending(tbl => tbl.Surname).ToList();
}
这就是我要避免的内容
好好阅读管理员!