实体框架上下文中的条件ORDER BY子句

时间:2018-06-14 15:15:55

标签: c# entity-framework entity-framework-core

作为我上一个问题的延伸 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();
}

这就是我要避免的内容

好好阅读管理员!

0 个答案:

没有答案