【发布时间】:2012-10-10 14:48:49
【问题描述】:
我的场景是:我有一个使用 linq 的名为 MenuBO 的类,它有一个名为 SelectAll() 的函数,它返回一个对象列表 menu 用作 DataSource 的 DropDownList。在返回之前,我需要在列表中插入一个新项目作为DropDownList的默认值
到目前为止,这是我尝试过的:
public List<menu> SelectAll()
{
using (var db = new SeloQual_AdminEntities(conn))
{
menu vmenu = new menu();
vmenu.cod_menu = 0;
vmenu.cod_menu_pai = null;
vmenu.des_menu = "Select...";
var query = from p in db.menu orderby p.des_menu select p;
var test = query.ToList();
test.Add(vmenu);
return test.OrderBy(x => x.cod_menu).ToList();
}
}
OrderBy(x => x.cod_menu) 可以做到这一点,vmenu 项目像我想要的那样显示在顶部,但我需要其他项目由 des_menu 订购。我尝试了类似的东西
return teste.OrderBy(x => x.cod_menu).ThenBy(y => y.des_menu).ToList();
但当然没有用,所以我需要一些帮助才能仅对第一个元素之后的元素进行排序
【问题讨论】: