Entity Framework, MVC 3, OrderBy en LINQ To Entities
Tengo la siguiente consulta:
model.Page = db.Pages
.Where(p => p.PageId == Id)
.Include(p => p.Series
.Select(c => c.Comics
.Select(col => col.Collection)))
.SingleOrDefault();
Esto funciona muy bien, aunque ahora necesito ordenar los Comics por una propiedad llamada 'ReadingOrder'.
He intentado
model.Page = db.Pages
.Where(p => p.PageId == Id)
.Include(p => p.Series.Select(c => c.Comics.OrderBy(o => o.ReadingOrder)
.Select(col => col.Collection)))
.SingleOrDefault();
Pero esto da como resultado el siguiente error:
La expresión de ruta Incluir debe hacer referencia a una propiedad de navegación definida en el tipo. Utilice rutas de puntos para las propiedades de navegación de referencia y el operador Seleccionar para las propiedades de navegación de la colección. Nombre del parámetro: ruta
¿Alguna idea de lo que significa este error?
Gracias por adelantad
EDITAR
Mis modelos:
public class Page
{
public int PageId { get; set; }
public string Title { get; set; }
public ICollection<Series> Series { get; set; }
}
public class Series
{
public int SeriesId { get; set; }
public int PageId { get; set; }
public string Title { get; set; }
public Page Page { get; set; }
public ICollection<Comic> Comics { get; set; }
}
public class Comic
{
public int ComicId { get; set; }
public string Title { get; set; }
public int ReadingOrder { get; set; }
public string Subtitle { get; set; }
public int CollectionId { get; set; }
public Collection Collection { get; set; }
}
public class Collection
{
public int CollectionId { get; set; }
public string Title { get; set; }
public ICollection<Comic> Comics { get; set; }
}