实体框架 – 如何添加外部参考ASP.Net MVC 5身份?
发布时间:2020-12-15 18:47:05 所属栏目:asp.Net 来源:网络整理
导读:我有一个新的ASP.NET MVC 5.1项目使用ASP.Net身份。 这似乎是可靠的和承诺,但今天我花了将近9个小时来做??一个简单的事情,如果使用SQL。 我的问题是,我不能通过CodeFirst创建一个表,外键引用默认的AspNetUsers表。 例如: 我创建了一个名为“地址”的表
我有一个新的ASP.NET MVC 5.1项目使用ASP.Net身份。
这似乎是可靠的和承诺,但今天我花了将近9个小时来做??一个简单的事情,如果使用SQL。 我的问题是,我不能通过CodeFirst创建一个表,外键引用默认的AspNetUsers表。 例如: public class Address { [Key] public string UserId { get; set; } public string MyAddress { get; set; } } 但是如何创建AspNetUsers的外键引用? 我尝试替换上面的属性 public IdentityUser MyAddress { get; set; } // Or public virtual IdentityUser MyAddress { get; set; } // Or public virtual ApplicationUser MyAddress { get; set; } 但是他们都显示错误: One or more validation errors were detected during model generation: MiaPos.Models.IdentityUserLogin: : EntityType 'IdentityUserLogin' has no key defined. Define the key for this EntityType. MiaPos.Models.IdentityUserRole: : EntityType 'IdentityUserRole' has no key defined. Define the key for this EntityType. IdentityUserLogins: EntityType: EntitySet 'IdentityUserLogins' is based on type 'IdentityUserLogin' that has no keys defined. IdentityUserRoles: EntityType: EntitySet 'IdentityUserRoles' is based on type 'IdentityUserRole' that has no keys defined. 我也尝试从这个post覆盖OnModelCreating protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<IdentityUserLogin>().HasKey<string>(l => l.UserId); modelBuilder.Entity<IdentityRole>().HasKey<string>(r => r.Id); modelBuilder.Entity<IdentityUserRole>().HasKey(r => new { r.RoleId,r.UserId }); } 但是当我运行Add-Migration时,它创建了IdentityUserLogin,IdentityRole,IdentityUserRole表,并且它重复,只是前缀不同。 (AspNet身份) 最后我在十秒钟内通过SQL进行操作,但是我只想知道为什么我不能在CodeFirst中执行 解决方法
谢谢你GáborPlesz上面的评论。
我找到了解决方案。 继承IdentityUser(创建AspNetUsers表)的ApplicationUser类应该创建子类(子表)的ICollection属性。 例如 public virtual ICollection<ToDo> ToDoes { get; set; } 所以ToDo类可以引用ApplicationUser GáborPlesz表示强烈推荐看样品。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 在运行时ASP.NET捆绑和缩小有什么好处?
- asp.net – 如何调试w3wp clr.dll错误
- asp.net-mvc-3 – 在MVC3中使用Page.User.Identity.Name
- 由于ErrorCode =’0x80004005:80008083,.NET Core应用程序
- 使用log4net和ASP.NET跟踪会话变量
- 【总结 Anchor-free1】Anchor-Free Keypoint方法总结以及思
- asp.net-mvc – 用于Web.config的T4MVC
- asp.net – 有没有更好的方法将ClientID转换为外部JS文件?
- asp.net – 图像按钮差距
- asp.net – 映射到用户的SignalR连接
推荐文章
站长推荐
- asp.net-mvc – 如何从MVC WEB API Controller返
- asp.net – 如何将Sitecore Droptree源设置为项目
- asp.net-mvc – 如何将整个ViewModel传递回控制器
- asp.net-mvc – HttpPost和HttpGet属性在MVC:为
- asp.net-mvc – 在asp.net mvc应用程序中防止多个
- asp.net-mvc – 如何在VS2008 Web Devloper Expr
- asp.net-mvc-3 – 我的路由如何使用ASP MVC3在UR
- asp.net-mvc – asp.net MVC OutputCache属性的默
- asp.net – 为会话值的关键名称创建枚举是一个好
- asp.net-mvc – 在视图中格式化小数
热点阅读