我有一个如何排序匿名类型的问题。排序匿名类型
使用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