我正在尝试使用VS2015关注专业MVC 4中的音乐商店示例.我有脚手架音乐商店控制器的问题.每次我尝试创建控制器时,都会弹出一个错误窗口,其中唯一的信息是:"运行所选代码生成器时出错:'表中已存在密钥.'"
我一直在寻找这个特定的错误,但大多数脚手架错误解决方案似乎是关于web.config中的错误,但我的web.config中没有任何改变,它是创建新项目时创建的默认错误.
我已经尝试创建另一个MVC项目并再次编码模型但我仍然收到错误.
我正在使用Microsoft Visual Studio Enterprise 2015版本14.0.247200更新1,如果这有帮助.
我在Models文件夹中创建的类如下所示,与本书中的类完全相同:
public class Album { public virtual int AlbumId { get; set; } public virtual int GenreId { get; set; } public virtual int ArtistId { get; set; } public virtual string Title { get; set; } public virtual decimal Price { get; set; } public virtual string AlbumArtUrl { get; set; } public virtual Genre Genre { get; set; } public virtual Artist Artist { get; set; } } public class Artist { public virtual int ArtistId { get; set; } public virtual string Name { get; set; } public virtual string Description { get; set; } } public class Genre { public virtual int GenreId { get; set; } public virtual string Name { get; set; } public virtual string Description { get; set; } public virtual ListAlbums { get; set; } }
谢谢你的帮助
我有同样的问题.我正在使用Visual Studio Communitty 2015.尝试使用代码的模型类:
public class MusicStoreDB : DbContext { public MusicStoreDB() : base("name=MusicStoreDB") { } public DbSetAlbums { get; set; } public DbSet Artists { get; set; } public DbSet Genres { get; set; } }
在添加控制器窗口中,使用MusicStoreDB作为上下文.
工作代码可以在这里找到.
第4章的代码看起来像是从数据库生成的,所以MusicStoreDB类略有不同.