模板中如何对栏目数据进行排序

代码参考如下:

@{
    List<Tuple<string, int>> countList = new List<Tuple<string, int>>();
    IEnumerable<dynamic> columnList = Html.GetColumnList(c => c.ParentId == 4348);//获取当前栏目下的子栏目
    int publishCount = 0, countIdx = 1;
    foreach (var item in columnList)
    {
        int columnId = item.Id;//栏目id
        string name = item.Name;
        var countData = Html.SqlQueryFirst("select count(id) as co from images where columnId=@columnId", new { columnId = columnId });
        publishCount = countData.co;
        countList.Add(new Tuple<string, int>(item, publishCount));
    }
    //按大到小排序
    countList.Sort((a, b) => b.Item2.CompareTo(a.Item2));
    <ul>
        @foreach (var item in countList)
        {
            <li>
                <i>@(countIdx) </i>
                <strong>@(item.Item1) </strong>
                <span>@(item.Item2)篇 </span>
            </li>
            countIdx++;
        }
    </ul>
}

注:大数据下排序会有点慢,数据多不建议使用。