MVCMusicStore教程专辑ID?

时间:2012-07-29 17:05:14

标签: asp.net-mvc-3

我想知道程序在哪里生成AlbumId? 一开始我尝试使用SQL Server Compact Edition,但错误页面说“无法找到所请求的.Net Framework数据提供程序”等等等等...... 我无法继续。

然后我下载了整个MVCMusicStore代码并将数据库添加到“App_Data”文件夹,更改了Web.config文件中的connectionStrings。有用。 我检查了数据库表,他们已经设置了ID(AlbumId,Gen​​reId等)。 他们手动设置了这些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);
 }

ID来自哪里? 用于初始化Albums的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" },
            ...
        };

2 个答案:

答案 0 :(得分:1)

该列在数据库中设置为Identity Column。基本上它从1开始,每次插入时ID都会增加(无论如何都是默认行为,可以自定义)。

答案 1 :(得分:0)

最有可能的SQL表为此列设置了default