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);
}
}
(這是用於調試目的的簡單實現實際的實現將更加複雜)。
我在這裏錯過了什麼?