我试图根据子实体的属性对查询返回的结果进行排序。
public Itinerary GetItineraryFromId(int Id)
{
var itinerary = context.Itineraries
.Include(i => i.ItineraryDays.OrderBy(x => x.Day).Select(l => l.Listing).Select(p => p.Port).Select(m => m.Maps))
.Include(i => i.ItineraryStartDates)
.Where(i => i.Id == Id).FirstOrDefault();
return (itinerary);
}
这会抛出异常:Include路径表达式必须引用在类型上定义的导航属性。使用虚线路径作为参考导航属性,使用Select运算符作为集合导航属性。
如果我使用非急切加载方法,例如:
public Itinerary GetItineraryFromId(int Id)
{
var itinerary = context.Itineraries
.Include(i => i.ItineraryDays)
.Include(i => i.ItineraryStartDates)
.Where(i => i.Id == Id)
.FirstOrDefault();
return (itinerary);
}
..结果正确排序。
如何使用预先加载查询来订购?问候,盖伊