EF& Linq:根据子实体进行排序

时间:2014-11-26 13:14:25

标签: linq entity-framework

我试图根据子实体的属性对查询返回的结果进行排序。

    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);
    }

..结果正确排序。

如何使用预先加载查询来订购?问候,盖伊

0 个答案:

没有答案