我有一個如何排序匿名類型的問題。排序匿名類型
使用LINQ2SQL我有以下查詢,返回提交的清單:
var submissions = EventSubmissions
.Where(s => s.EventId.Equals(eventId));
請看下面的接口(有點simplyfied):
public interface IQuerySorter
{
IOrderedQueryable Sort(IQueryable query);
IOrderedQueryable<T> Sort<T, U>(IQueryable<T> query, Expression<Func<T,U>> selector);
...
}
使用這個接口可以讓我實現「分揀機」的數量,例如投票日期,評級或提交是否被提名(表決)。
sortedQuery = sorter.Sort(submissions)
到目前爲止好。提交文件可以「投票」。我得到一個提名提交可能使用以下查詢投票數:
var withVoteCount = submissions
.Select(s => new {NumberOfVotes = s.Votes.Count(), Submission = s});
我想排序使用我的「一般」分類器類NumberOfVotes這個新的查詢,但碰上匿名類型問題/成員似乎不在存儲庫方法之外,因此我無法對其進行排序。
任何輸入將不勝感激。
爲什麼不使用標準OrderBy LINQ擴展進行排序? – 2010-04-07 07:27:29