我對這個Linq
聲明有點難住。我的基本的數據庫結構是:Linq - 從列表對象中選擇標籤列表,每個標籤列表包含一個標籤列表
* Event (ID, Name, VenueID)
* Venue (ID, Name)
* EventTag (EventID, TagID)
* VenueTag (VenueID, TagID)
* Tag (TagID, Name)
我得到的事件列表,每個事件都有EventTags的列表(其中有標籤列表),每個事件都有一個場地,其中有場地標籤列表,它有一個標籤列表。
我想要得到的是在所有事件之間使用的標籤的不同列表。
我已經嘗試了一些東西,但我要麼得到的EventTags
列表,VenueTags
,這可能會或可能不會保留標籤,或沒有...
我的一些嘗試已經(和我可能是的路要走,所以不要笑)!
var tags = events.Select(x=>x.EventTag.Select(x=>x.Tag)).Union(events.Select(y=>y.Venue.VenueTag.Select(z=>z.Tag))).Distrinct().ToList()
或者
var tags1 = (from y in (from x in events where events.EventTags.Count > 0 select x) select y.Tag).ToList
然後我希望做同樣的地點,並把它們放在一起,但沒有運氣...
在此先感謝!
非常感謝!很高興知道我不是一百萬英里之外!我幾乎沒有說我的嘗試,因爲我認爲這會很糟糕。 –