最近學mvc5,跟着書上做例子的時候遇到一個小問題,從各種網站上查找之后解決了。
書是ASP.net MVC5高級編程,P67執行基架模版,右鍵Controller添加控制器-帶視圖的MVC5控制器。
最后添加的時候出現這個問題:
用了這個方法之后還是不行http://stackoverflow.com/questions/34333966/error-key-already-exists-in-table-when-scaffolding-controller-vs2015
但是我發現這不是書上的代碼嗎,只是多了兩行。於是把那兩行去掉了。ok了。其實書上說了這個方法,但是書上說的是“例如,下面的類就可以用來。。。”總感覺不像步驟。。。
總結下解決方法:在Modles下面添加類MusicModelDB,就是后來要用的數據上下文(之前添加的時候我還在想沒這個類怎么憑空出來了。。果然是錯的)。
MusicModelDB里的代碼:
namespace MvcMusicStore1.Models
{
public class MusicStoreDB: DbContext
{
public DbSet<Album> Albums { get; set; }
public DbSet<Artist> Artists { get; set; }
public DbSet<Genre> Genres { get; set; }
}
}
這樣就可以添加成功了。其實這個類應該是程序自動添加上的,但是我的沒成功,手動提前加上了。