私はそのクラスを持っています
public class jQGridModel
{
public List<jQGridModelItem> Items { get; set; }
public class jQGridModelItem
{
public DBUser UserItem { get; set; }
public int ItemsSold { get; set; }
}
}
およびDBUser
クラス(Entity Frameworkによって生成されます)
public class DBUser
{
public string UserName { get; set; }
public string UserID { get; set; }
public string PromoCode { get; set; }
...
}
いくつjQGridModel
かのオブジェクトがありますItems
。Items
そして、これが「単純な」問題です-私はリストをasc/descに基づいてソートしたいと思いますUserName
私はもう試した
jQGridModel result = new jQGridModel();
result.Items = GetItems();
result.Items = result.Items.OrderByDescending(x => x.UserItem.UserName).ToList();
しかし、コレクションの順序は変更されていないことがわかります。私は何を間違っているのですか?
完全なコード:
var query = (from x in db.User
where (...)
select x);
var totalRecords = query.Count();
jQGridModel result = new jQGridModel();
result.Items = query.OrderBy(x => x.UserID).Skip(page * pageSize)
.Take(pageSize)
.Select(x => new jQGridModel.jQGridModelItem
{
UserItem = x,
ItemsSold = (from o in db.Order
where
o.PromoCode.Equals(x.PromoCode)
select o).Count()
})
.ToList();
result.Items = result.Items.OrderByDescending(x => x.UserItem.UserName).ToList();