0
我是MVC3的新手,很抱歉,如果这是基本的,但我不能解决它。从间接相关的表获取不同的字段
我有一个包含3个表的视图模型,一个包含2个外键(艺术家ID和标签ID)的'相册'表。
我有一个'标签'控制器和一个细节方法,我显示标签表字段。我试图从与该标签相关的专辑集合中获得不同的“艺术家”。目前,我可以得到艺术家的名字,但是每个专辑都会生成一个 - 我已经在下面列出了这个场景的代码。
我已经尝试了一堆不同的东西,比如收藏中的艺术家,并使用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; }
}
}