asp.net-mvc – 缺少webpages_UsersInRoles
发布时间:2020-12-15 23:58:47 所属栏目:asp.Net 来源:网络整理
导读:我正在使用ASP.NET MVC 4和SimpleMemmbership. 构建应用程序时,会自动构建以下表格 webpages_Membership webpages_OAuthMembership webpages_Roles 我可以成功注册用户. 但是,webpages_UsersInRoles表似乎丢失了. 有谁知道为什么这张桌子丢失了? 解决方法 T
我正在使用ASP.NET MVC 4和SimpleMemmbership.
构建应用程序时,会自动构建以下表格 webpages_Membership webpages_OAuthMembership webpages_Roles 我可以成功注册用户. 但是,webpages_UsersInRoles表似乎丢失了. 有谁知道为什么这张桌子丢失了? 解决方法
This article可能会帮助您解决问题.
更新: 上面的文章让我们朝着正确的方向前进.我们的解决方案是将“webpages_UsersInRoles”的定义添加到我们的UserProfile.cs类中,该类在初始化期间使用(我们首先执行代码). [Table("UserProfile")] public class UserProfile { [Key] [DatabaseGenerated(DatabaseGeneratedOption.Identity)] public int UserId { get; set; } public string UserName { get; set; } public string FirstName { get; set; } public string LastName { get; set; } [DataType(DataType.EmailAddress)] public string EmailAddress { get; set; } public bool IsEnabled { get; set; } } [Table("webpages_Membership")] public class Membership { public Membership() { //Roles = new List<Role>(); OAuthMemberships = new List<OAuthMembership>(); UsersInRoles = new List<UsersInRole>(); } [Key,DatabaseGenerated(DatabaseGeneratedOption.None)] public int UserId { get; set; } public DateTime? CreateDate { get; set; } [StringLength(128)] public string ConfirmationToken { get; set; } public bool? IsConfirmed { get; set; } public DateTime? LastPasswordFailureDate { get; set; } public int PasswordFailuresSinceLastSuccess { get; set; } [Required,StringLength(128)] public string Password { get; set; } public DateTime? PasswordChangedDate { get; set; } [Required,StringLength(128)] public string PasswordSalt { get; set; } [StringLength(128)] public string PasswordVerificationToken { get; set; } public DateTime? PasswordVerificationTokenExpirationDate { get; set; } //public ICollection<Role> Roles { get; set; } [ForeignKey("UserId")] public ICollection<OAuthMembership> OAuthMemberships { get; set; } [ForeignKey("UserId")] public ICollection<UsersInRole> UsersInRoles { get; set; } } [Table("webpages_OAuthMembership")] public class OAuthMembership { [Key,Column(Order = 0),StringLength(30)] public string Provider { get; set; } [Key,Column(Order = 1),StringLength(100)] public string ProviderUserId { get; set; } public int UserId { get; set; } [Column("UserId"),InverseProperty("OAuthMemberships")] public Membership User { get; set; } } [Table("webpages_UsersInRoles")] public class UsersInRole { [Key,Column(Order = 0)] public int RoleId { get; set; } [Key,Column(Order = 1)] public int UserId { get; set; } [Column("RoleId"),InverseProperty("UsersInRoles")] public Role Roles { get; set; } [Column("UserId"),InverseProperty("UsersInRoles")] public Membership Members { get; set; } } [Table("webpages_Roles")] public class Role { public Role() { UsersInRoles = new List<UsersInRole>(); } [Key] public int RoleId { get; set; } [StringLength(256)] public string RoleName { get; set; } //public ICollection<Membership> Members { get; set; } [ForeignKey("RoleId")] public ICollection<UsersInRole> UsersInRoles { get; set; } } 然后在继承dbContext的类上添加了公共DbSet UsersInRoles {get;组; }. public class IntranetEntities : DbContext { public DbSet<UserProfile> UserProfiles { get; set; } public DbSet<Membership> Memberships { get; set; } public DbSet<Role> Roles { get; set; } public DbSet<UsersInRole> UsersInRoles { get; set; } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Conventions.Remove<PluralizingTableNameConvention>(); } public override int SaveChanges() { try { return base.SaveChanges(); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}",validationError.PropertyName,validationError.ErrorMessage); } } } return 0; } } 然后我们继续构建我们的项目并使用我们执行的VS包管理器控制台(因为我们正在进行代码优先开发)
然后将模型更新为我们的期望.我提供了所有必需的代码,希望能在未来的时间和悲伤中拯救某人. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 多线程和异步编程示例和实践-踩过的坑
- asp.net-web-api – ASP.NET核心Web API:为什么在Get请求中
- asp.net-web-api – 如何记录webapi中控制器中执行的操作方
- asp.net-mvc-5 – 如何使用不同参数类型的相同路由?
- asp.net-mvc-3 – 实体框架将float数据类型映射为double
- 在ASP.NET Web窗体中收集输入值的推荐方法是什么
- asp.net-identity – AspNetCore – 使用Google身份验证时更
- 在ASP.NET中拒绝用户时,’CustomIdentity’上的Serializati
- asp.net – 为什么不删除Server和X-Powered-By标头?
- asp.net – 根据角色重定向到其他页面
推荐文章
站长推荐
- asp.net mvc 2.0 Jquery表单提交
- asp.net-mvc-3 – 从ASP的Ajax.ActionLink获取JS
- asp.net-mvc – 使用DataAnnotations与ASP.Net M
- asp.net – 如何检测脚本管理器是否在页面上?
- asp.net-mvc-3 – 如何在Asp.Net MVC中显示Displ
- asp.net – 如何在SQL数据库中创建和存储用户定义
- entity-framework – 具有列表的实体框架复杂对象
- RevDebug -- VS 调试神器,你值得拥有!
- asp.net-web-api – 如何配置OData不处理Web Api
- asp.net-mvc-2 – 在ASP.Net MVC 2中的整个站点中
热点阅读