基于索引元素的Linq排序
本文关键字:元素 Linq 排序 索引 于索引 | 更新日期: 2023-09-27 18:19:14
我试图在数组索引的基础上排序查询。参见下面的代码-
query = data.Users;
query = query.Where(u=>u.IsActive);
query = query.OrderBy(u=>u.LName);
query = query.OrderBy(u=>u.Phone[0]);
一切正常,除了最后一行。它显示以下错误-
NotSupportedException was unhandled.
The expression [10007].Phone.get_Item(0) is not supported.
编辑
I have try -
query = query.OrderBy(u=>u.Phone.First());
query = query.OrderBy(u=>u.Phone.FirstOrDefault());
Phone是字符串数组
我认为你需要使用ThenBy而不是第二个顺序:
query = data.Users;
query = query.Where(u=>u.IsActive);
query = query.OrderBy(u=>u.LName);
query = query.ThenBy(u=>u.Phone[0]);
否则,您将重新排序整个数组,而不是按您想要的两个字段排序。