选择列表的Linq SqlExpression查询未排序

时间:2020-08-11 23:09:30

标签: html asp.net-core

我有一个Linq sql查询,如下所示。但是仓库编号不是按排序顺序排列的。我想将下拉列表显示为depotno order。但是显示为“ 1”,“ 18”,“ 19”,“ 2”。我想将其显示为“ 1”,“ 2”,依此类推

IEnumerable<SelectListItem> depotUserList = (from e in ctx.goUserDepartment
 join c in ctx.goDepot on e.DepotNo equals c.DepotNo
 join user in ctx.goUser
 on e.UserID equals user.UserID
 where e.UserID == UserID &&
 e.IsDeleted == false
 orderby c.DepotNo
 select new SelectListItem
 {
     Value = c.DepotNo.ToString(),
     Text = c.DepotName,
     Selected = user.DepotNo == e.DepotNo
 }).Distinct().ToList<SelectListItem>();

1 个答案:

答案 0 :(得分:0)

您的DepotNo类型似乎是字符串类型,建议您尝试在ToList方法之后对结果进行排序。

赞:

IEnumerable<SelectListItem> depotUserList = (from e in ctx.goUserDepartment
 join c in ctx.goDepot on e.DepotNo equals c.DepotNo
 join user in ctx.goUser
 on e.UserID equals user.UserID
 where e.UserID == UserID &&
 e.IsDeleted == false
 select new SelectListItem
 {
     Value = c.DepotNo.ToString(),
     Text = c.DepotName,
     Selected = user.DepotNo == e.DepotNo
 }).Distinct().ToList<SelectListItem>().OrderBy(x=>  int.Parse(x.Value));
相关问题