我想做类似下面的事情,但是我无法弄清楚选择孙行的选择行的正确语法。
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
}
}
答案 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);