0
我试图使用自定义IComparer
调用OrderBy()
在亚音速IQueryable
像这样定制的IComparer:使用排序依据与亚音速
IQueryable<FooObject> sortedFoos =
FooObject.All()
.OrderBy(f => f, new FooObjectComparer());
然而,当我再尝试枚举sortedFoos
或使用PagedList<FooObject>
它创建,我得到一个System.Exception:'不支持MemberInit类型的LINQ表达式节点'。
这里是FooObjectComparer
实现:
public class FooObjectComparer : IComparer<FooObject>
{
public FooObjectComparer() {}
public int Compare(FooObject x, FooObject y)
{
return x.MyProperty.CompareTo(y.MyProperty);
}
}
(这是用于调试目的的简单实现实际的实现将更加复杂)。
我在这里错过了什么?