OrderBy使用RavenDB - 一个例外

时间:2011-12-19 10:50:09

标签: linq ravendb

我在项目中使用Raven Db。我试着订购如下列表:

list.OrderByDescending(x => x.Supporters.Sum(y=>y.Tokens));

我得到了这样的例外:

{"Unable to cast object of type 'System.Linq.Expressions.MethodCallExpressionN' to type 'System.Linq.Expressions.MemberExpression'."}

模型如下所示:

public class Idea 
{

    (...)
    public IList<IdeaSupporter> Supporters { get; set; }

}

public class IdeaSupporter
{
   (...)
    public int Tokens { get; set; }
}

我错了什么? 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您无法对计算进行排序,但您可以定义如下索引:

from idea in docs.Ideas
select new 
{
  SumOfSupportersTokens = idea.Supporters.Sum(x=>x.Tokens)
}

然后按SumOfSupportersTokens排序

相关问题