如何在linq中选择多个孙子?

时间:2014-01-27 13:13:37

标签: c# linq

我想做类似下面的事情,但是我无法弄清楚选择孙行的选择行的正确语法。

EventDates是Event模型的集合。

EventDates又有一个1-1 EventDateVenue和一个EventDateDelegates集合。

    var dataModel = DataContext.Events
                    .Include(i => i.EventDates
                       .Select(d => d.EventDateDelegates, d.EventDateVenue)
                    )
                    .FirstOrDefault(i => i.ID == eventID);

我想从主dataModel访问所有属性和对象。

因此能够遍历它的孩子们,并把它们带给孙子孙女。

例如:

var eventTitle = dataModel.Title
var eventID = dataModel.ID


foreach(EventDate eventDate in dataModel.EventDates)
{
    var venueTitle = eventDate.EventVenue.Title;
    var delegates = eventDate.EventDateDelegates;
    foreach (delegate in delegates)
    {
        // do something 
    }
}

1 个答案:

答案 0 :(得分:0)

对于将来来这里的人来说,我就是这样做的:

        EventPageDataModel dataModel = DataContext.Events
            .Include(i => i.Categories)
            .Include(i => i.Dates)
            .Include(i => i.Dates.Select(d => d.EventDateDelegates))
            .Include(i => i.Dates.Select(d => d.EventDateDelegates.Select(edd => edd.User)))
            .Include(i => i.Dates.Select(d => d.Venue))
            .FirstOrDefault(i => i.URL == url);