簡體   English   中英

如何在linq中選擇多個孫子?

[英]How do I select multiple grandchildren in linq?

我想做類似下面的事情,但是我無法弄清楚選擇孫子句的Select行的正確語法。

EventDates是Event模型上的集合。

反過來,EventDate具有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 
    }
}

對於將來來這里的任何人,這是我的做法:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM