我对这个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
然后我希望做同样的地点,并把它们放在一起,但没有运气...
在此先感谢!
非常感谢!很高兴知道我不是一百万英里之外!我几乎没有说我的尝试,因为我认为这会很糟糕。 –