我想知道程序在哪里生成 AlbumId?一开始我尝试使用 SQL Server Compact Edition,但错误页面显示“无法找到请求的 .Net Framework 数据提供程序”等等等等……我无法继续。
然后我下载了整个 MVCMusicStore 代码并将数据库添加到“App_Data”文件夹中,更改了 Web.config 文件中的 connectionStrings。有用。我检查了数据库表,他们已经设置了 ID(AlbumId、GenreId 等)。 他们是否手动设置了这些 ID?
但后来我试图建立一个基于它的新网站。这次我使用的是 SQL Server Compact Edition,我下载了 4.0 版本以使其工作。我正在做“详细信息”页面...让我引用教程中的一些内容...
“我们将对 /Store/Details/[id] URL 进行相同的更改,并将我们的虚拟数据替换为数据库查询,该查询加载 ID 与参数值匹配的专辑。”
public ActionResult Details(int id)
{
var album = storeDB.Albums.Find(id);
return View(album);
}
身份证从哪里来? 我确定用于初始化专辑的 SampleData.cs 没有设置 id,这是 SampleData.cs 中的一些代码
new List<Album>
{
new Album { Title = "A Copland Celebration, Vol. I", Genre = genres.Single(g => g.Name == "Classical"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Aaron Copland & London Symphony Orchestra"), AlbumArtUrl = "/Content/Images/placeholder.gif" },
new Album { Title = "Worlds", Genre = genres.Single(g => g.Name == "Jazz"), Price = 8.99M, Artist = artists.Single(a => a.Name == "Aaron Goldberg"), AlbumArtUrl = "/Content/Images/placeholder.gif" },
new Album { Title = "For Those About To Rock We Salute You", Genre = genres.Single(g => g.Name == "Rock"), Price = 8.99M, Artist = artists.Single(a => a.Name == "AC/DC"), AlbumArtUrl = "/Content/Images/placeholder.gif" },
...
};