我正在尝试在 SubSonic 上OrderBy()
使用自定义调用,如下所示:IComparer
IQueryable
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);
}
}
(这是一个用于调试目的的简单实现。实际实现会更复杂)。
我在这里想念什么?