我正在学习 EF5 并建立一个仅显示一些歌曲和歌手的小型网站。由于一首歌可以由多个歌手演唱,并且一个歌手会有很多歌曲,所以我的 EF 模型如下。
我想在表格中显示所有歌曲列表及其相关歌手,所以我写了一个查询,到目前为止我有。
Dim res = context.Songs _
.SelectMany(Function(song) song.Artists, Function(s, a) New With
{.SongTitle = s.SongTitle, _
.ArtistName = a.ArtistName, _
.Lyrics = s.Lyrics})
但我得到如下结果。
您将看到 Lucky 在表格中显示两次。我不希望这种情况发生。我只想显示一次,但在“艺术家”列中加入了两位歌手。我尝试阅读教程和许多论坛帖子,但这些教程并没有变得如此复杂。
那么我怎样才能改变查询以返回这样的东西呢?