在控制器中排序结果

时间:2015-05-26 20:02:39

标签: c# asp.net-mvc sql-order-by

我的控制器中有以下操作:

public ActionResult Details(String id)
{
    MyRecordContext rc = new MyRecordContext();
    List<MyRecord> rl = rc.MyRecords.Where(x => x.RecordID == id).ToList();

    return View(rl);
}

如何在我的查询中添加order by子句以在x.RecordName字段上订购记录?

3 个答案:

答案 0 :(得分:4)

您可以使用OrderBy扩展名方法,例如

public ActionResult Details(String id)
{
    MyRecordContext rc = new MyRecordContext();
    List<MyRecord> rl = rc.MyRecords.Where(x => x.RecordID == id).OrderBy(x => x.RecordName).ToList();

    return View(rl);
}

这将按字母顺序按RecordName排序。

答案 1 :(得分:1)

如果您想按两个字段排序,可以这样做:

List<MyRecord> rl = rc.MyRecords.Where(x => x.RecordID == id)
                                .OrderBy(r=>r.RecordName)
                                .ThenBy(r=>r.RecordTitle)
                                .ToList();

ThenBy方法根据键按顺序执行序列中元素的后续排序。如果多次调用OrderBy,它将有效地重新排序序列两次

答案 2 :(得分:0)

您可以将OrderBy用于例如

write(data.toString().getBytes())