Я новичок в MVC3, поэтому прошу прощения, если это основной, но я не смог разобраться.
У меня есть модель представления, которая включает в себя 3 таблицы, таблицу 'Albums' с 2 внешними ключами(Идентификатор исполнителя и идентификатор метки).
У меня есть контроллер «Метки» и метод «Подробности», в котором отображаются поля таблицы меток.Я пытаюсь получить отличных «исполнителей» из коллекции альбомов, связанных с ярлыком.
В данный момент я могу получить имена исполнителей, но один создается для каждого альбома - я включилкод для этого сценария ниже.
Я пробовал кучу разных вещей, например, включение Художников в коллекцию и использование функций Distinct и group by, но безрезультатно.Не уверен, что это выполнимо, или из-за косвенной связи между таблицами мне нужно использовать другой подход.
Любая помощь очень ценится.
Контроллер:
public ActionResult Details(int id)
{
var viewModel = new LabelsDetailsVM();
viewModel.Lables = db.Labels
.Include(a => a.Albums)
.SingleOrDefault(x => x.LabelID == id);
return View(viewModel);
Просмотр:
@foreach (var artist in Model.Lables.Albums)
{
<tr>
<td>
@Html.DisplayFor(model => artist.Artist.ArtistName)
</td>
</tr>
}
Просмотр модели
public class LabelsDetailsVM
{
public Label Lables { get; set; }
public IEnumerable<Album> Albums { get; set; }
public IEnumerable<Artist> Artists { get; set; }
}
}