Я использую RavenDB и сталкиваюсь с проблемами при попытке упорядочить результаты.
Вот пример классов.
public class Post {
public int Id {get;get;}
public DateTimeOffset Posted {get;set;}
public List<SectionAssignment> Sections{get;set;}
public string Headline {get;set;}
}
public class SectionAssignment {
public int SectionId {get;set;}
public int Priority {get;set;}
}
В моем контроллере я пытаюсь вернуть наборсообщений, которые назначены определенному разделу, а затем упорядочить (desc) часть даты размещенного свойства.Затем я хочу отсортировать по приоритету раздела.Вот что у меня есть:
var posts= RavenSession.Query<Post>()
.Where(s => s.Sections.Any(sec=>sec.SectionId==5))
.OrderByDescending(s => s.Posted.Date)
.ThenBy(s => s.Section.Where(sec => sec.Id == 5).Select(sc => sc.Priority).Single())
.Take(10)
.ToList();
Я следующее исключение:
Невозможно привести объект типа 'System.Linq.Expressions.MethodCallExpressionN' к типу 'System.Linq.Expressions.MemberExpression '.
Я могу понять, почему это происходит, но я не могу понять, как заставить это работать.Есть предложения?