Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework asp.net实体框架mvc中的身份框架不允许我注册用户!为什么?_Entity Framework_Asp.net Mvc 4_Asp.net Identity - Fatal编程技术网

Entity framework asp.net实体框架mvc中的身份框架不允许我注册用户!为什么?

Entity framework asp.net实体框架mvc中的身份框架不允许我注册用户!为什么?,entity-framework,asp.net-mvc-4,asp.net-identity,Entity Framework,Asp.net Mvc 4,Asp.net Identity,嗨,我试着制作自己的表来表示mvc4中标识的简单成员身份,并使用与它们相同的安全性 看看我做了什么:用礼节重现所有桌子: public class UsersContext : DbContext { public UsersContext() : base("DefaultConnection") { } public DbSet<UserProfile> UserProfiles { get; set; } public D

嗨,我试着制作自己的表来表示mvc4中标识的简单成员身份,并使用与它们相同的安全性

看看我做了什么:用礼节重现所有桌子:

public class UsersContext : DbContext
  {
    public UsersContext()
      : base("DefaultConnection")
    {
    }
    public DbSet<UserProfile> UserProfiles { get; set; }
    public DbSet<Membership> Memberships { get; set; }
    public DbSet<OAuthMembership> OAuthMemberships { get; set; }
    public DbSet<Role> Roles { get; set; }
  }

  [Table("webpages_Membership")]
  public class Membership
  {
    public Membership()
    {
    }

    [Key, DatabaseGenerated(DatabaseGeneratedOption.None)]
    public int MemberShipId { 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 UserProfile UserId { 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 UserProfile UserId { get; set; }
  }

  [Table("webpages_Roles")]
  public class Role
  {
    public Role()
    {
    }

    [Key]
    public int RoleId { get; set; }
    [StringLength(256)]
    public string RoleName { get; set; }
    public ICollection<UserProfile> UserId { get; set; }

  }

  [Table("UserProfile")]
  public class UserProfile
  {
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int UserId { get; set; }
    public string UserName { get; set; }
    public ICollection<Role> RoleId { get; set; }
  }
}
public类用户上下文:DbContext
{
公共用户上下文()
:base(“默认连接”)
{
}
公共数据库集用户配置文件{get;set;}
公共数据库集成员身份{get;set;}
公共DbSet OAuthMemberships{get;set;}
公共数据库集角色{get;set;}
}
[表格(“网页/会员”)]
公共班级成员资格
{
公众会员资格()
{
}
[Key,DatabaseGenerated(DatabaseGeneratedOption.None)]
public int MemberShipId{get;set;}
公共日期时间?CreateDate{get;set;}
[第128段]
公共字符串确认令牌{get;set;}
公共bool?已确认{get;set;}
公共日期时间?LastPasswordFailureDate{get;set;}
public int passwordfailuressincelastsucture{get;set;}
[必需,字符串长度(128)]
公共字符串密码{get;set;}
公共日期时间?PasswordChangedDate{get;set;}
[必需,字符串长度(128)]
公共字符串密码salt{get;set;}
[第128段]
公共字符串PasswordVerificationToken{get;set;}
公共日期时间?PasswordVerificationTokenExpirationDate{get;set;}
公共用户配置文件用户标识{get;set;}
}
[表(“网页”\u OAuthMembership”)]
公共级成员船
{
[键,列(顺序=0),字符串长度(30)]
公共字符串提供程序{get;set;}
[键,列(顺序=1),字符串长度(100)]
公共字符串ProviderUserId{get;set;}
公共用户配置文件用户标识{get;set;}
}
[表格(“网页和角色”)]
公共阶级角色
{
公共角色()
{
}
[关键]
public int RoleId{get;set;}
[StringLength(256)]
公共字符串RoleName{get;set;}
公共ICollection用户标识{get;set;}
}
[表(“用户档案”)]
公共类用户配置文件
{
[关键]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId{get;set;}
公共字符串用户名{get;set;}
公共ICollection RoleId{get;set;}
}
}
所有表格都创建好了,一切都很好。。。。但是当我运行程序并试图注册它时,我犯了一个错误!它显示的列名“UserId”无效。当我点击注册按钮时。。。当我看到以前的情况有什么不对劲的时候。。。。它说websecurity.hasUserId=fasle。。。。我想知道问题出在哪里,但我不知道是什么导致了问题。。。。如果可以的话,谢谢你的帮助D


最奇怪的是,用户还是被创建的。。。。。但不是会员和每一件事

应该
public-UserProfile-UserId{get;set;}
be
public-virtual-UserProfile-UserId{get;set;}
因为它是一个导航属性?是的,我想你是对的,但我怀疑它有问题,但我可以尝试:Pwell它将是一个问题,因为它没有标记为虚拟的,所以它将尝试在
网页\u成员资格表中为它创建一列