我正在尝试使用 MVCScaffolding 和 ASP.NET 组合(我认为是)一个简单的 ASP.NET Web 应用程序。SQL 中有一个基本的数据表层次结构:dbo.Albums、dbo.Tracks。
模型很简单。对于专辑:
public class Albums {
public int ID { get; set; }
public string Artist { get; set; }
public string AlbumTitle { get; set; }
public string Notes { get; set; }
}
public class Tracks {
public int ID { get; set; }
public int AlbumID { get; set; }
public string TrackTitle { get; set; }
public string Notes { get; set; }
}
基本的 CRUD 视图已构建并且工作正常。但是,我正在尝试构建一个视图,该视图显示Album
模型数据,后跟一个表,其中一行用于给定 AlbumId 的每个跟踪记录。本质上,这是MVCScaffolding 模板中的Details
视图后跟的视图,但它使用两个模型并有一个参数(来自表)。Index
ID
Albums
我试图将模型添加在一起以从那里访问数据,但我不知道如何迭代列表(索引视图使用@model IEnumerable<Music.Models.Tracks>
)。这是组合模型:
public class AlbumsExtended
{
public Albums Albums { get; set; }
public Tracks Tracks { get; set; }
}
我正在尝试在 AlbumsExt.cshtml 中使用@model Music.Models.AlbumsExtended
. 控制器如下所示:
public ViewResult AlbumExt(int id)
{
return View(tracksRepository.All.Where(tracks => tracks.AlbumId == id));
}
但显然这是不正确的。