asp.net-mvc – 缺少webpages_UsersInRoles
发布时间:2020-05-23 23:02:41 所属栏目:asp.Net 来源:互联网
导读:我正在使用ASP.NET MVC 4和SimpleMemmbership. 构建应用程序时,会自动构建以下表格 webpages_Membership webpages_OAuthMembership webpages_Roles 我可以成功注册用户. 但是,webpages_UsersInRoles表似乎丢失了. 有谁知道为什么这张桌子丢失了? This articl
|
我正在使用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部署错误到IIS – 应用程序池managedRuntime
- asp.net-mvc – Html.Label和Html.Display有什么区别?
- 用于属性的ASP.NET MVC编辑器模板
- asp.net-mvc – Razor视图引擎.cshtml页面中的OutputCache
- ASP.NET中的BackgroundWorker线程
- asp.net-identity – 使用asp.net身份在身份服务器4中实现角
- asp.net-mvc-4 – 什么文件夹应该把我的扩展方法在ASP.Net
- .net – linq排序列表(MyObjects)
- asp.net-mvc – Web API返回csv文件
- asp.net-mvc – ASP.Net MVC 3:反向授权属性
推荐文章
站长推荐
- asp.net – 在某些情况下如何覆盖/更改FormsAuth
- asp.net – 什么时候调用Application_End,我该如
- 从asp.net mvc生成PDF文件
- asp.net – RedirectToAction MVC2的问题 – 不能
- asp.net – 使用Html.EditorFor生成具有特定行数
- asp.net-mvc-3 – Ninject和OnePerRequestModule
- asp.net-mvc – ASP.NET MVC – 在哪里抛出异常?
- asp.net-mvc-3 – 使用redirectAction和prg模式在
- asp.net-mvc – Knockout JS发送到MVC 3
- asp.net-mvc-3 – 根据url更改控制器中的布局
热点阅读
