我有一个班级
public class SizesClass
{
public int Sizeid { get; set; }
public string SizeNumbers { get; set; }
}
SizeNumbers中的数据类似于20*20*30
那么我有一个这个类的列表,我希望通过其中一个数字来订购。
var orderByDescending = Sizes.OrderBy(x => x.SizeNumbers.Split('*')[2]);
但是var orderByDescending
变成了null并且exeption说
The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities.
答案 0 :(得分:1)
也许这个?
var orderByDescending = Sizes.AsEnumerable.OrderBy(x => x.SizeNumbers.Split('*')[2]);
因为LINQ to Entities不支持' ArrayIndex'我们需要将所有数据加载到内存中,我们可以使用AsEnumerable()(或使用ToList())来实现,然后我们就可以在内存集合中完成所有顺序。