亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

EntityType'IdentityUserLogin'沒有定義鍵。定義此EntityType的鍵

EntityType'IdentityUserLogin'沒有定義鍵。定義此EntityType的鍵

拉風的咖菲貓 2019-07-26 15:16:02
EntityType'IdentityUserLogin'沒有定義鍵。定義此EntityType的鍵我正在使用Entity Framework Code First和MVC 5.當我使用個人用戶帳戶身份驗證創建我的應用程序時,我獲得了一個帳戶控制器以及所有必需的類和代碼,以使Indiv用戶帳戶身份驗證工作。已經存在的代碼包括:public class ApplicationDbContext : IdentityDbContext<ApplicationUser>{     public ApplicationDbContext() : base("DXContext", throwIfV1Schema: false)     {     }     public static ApplicationDbContext Create()     {         return new ApplicationDbContext();     }}但后來我繼續使用代碼創建了我自己的上下文,所以我現在也有以下內容:public class DXContext : DbContext{     public DXContext() : base("DXContext")     {     }     public DbSet<ApplicationUser> Users { get; set; }     public DbSet<IdentityRole> Roles { get; set; }     public DbSet<Artist> Artists { get; set; }     public DbSet<Paintings> Paintings { get; set; }        }最后,我有以下種子方法為我添加一些數據,同時開發:protected override void Seed(DXContext context){     try     {         if (!context.Roles.Any(r => r.Name == "Admin"))         {             var store = new RoleStore<IdentityRole>(context);             var manager = new RoleManager<IdentityRole>(store);             var role = new IdentityRole { Name = "Admin" };             manager.Create(role);         }         context.SaveChanges();         if (!context.Users.Any(u => u.UserName == "James"))         {             var store = new UserStore<ApplicationUser>(context);             var manager = new UserManager<ApplicationUser>(store);             var user = new ApplicationUser { UserName = "James" };             manager.Create(user, "ChangeAsap1@");             manager.AddToRole(user.Id, "Admin");         }我的解決方案構建正常,但當我嘗試訪問需要訪問數據庫的控制器時,我收到以下錯誤:DX.DOMAIN.Context.IdentityUserLogin :: EntityType'IdentityUserLogin'沒有定義鍵。定義此EntityType的鍵。DX.DOMAIN.Context.IdentityUserRole :: EntityType'IdentityUserRole'沒有定義鍵。定義此EntityType的鍵。我究竟做錯了什么?是因為我有兩個背景嗎
查看完整描述

3 回答

?
慕的地10843

TA貢獻1785條經驗 獲得超8個贊

在我的情況下,我正確地從IdentityDbContext繼承(使用我自己的自定義類型和鍵定義),但無意中刪除了對基類的OnModelCreating的調用:

protected override void OnModelCreating(DbModelBuilder modelBuilder){
    base.OnModelCreating(modelBuilder); // I had removed this
    /// Rest of on model creating here.}

然后,我從標識類中修復了丟失的索引,然后我可以生成遷移并適當地啟用遷移。


查看完整回答
反對 回復 2019-07-26
  • 3 回答
  • 0 關注
  • 1558 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號