我试图实现SimpleMembership实体,所以我可以控制它的某些方面,这里是我创建的类:Simplemembership webpages_UsersInRoles代码首先FK错误
[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; }
}
[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_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("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public bool Status { get; set; }
public string EmailId { get; set; }
}
现在,当我尝试插入新用户,它被正确插入表userProfile和webpages_Membership,但只要应用程序试图为用户分配角色,抛出异常
* INSERT语句与FOREIGN KEY约束“FK_dbo.webpages_UsersInRoles_dbo”冲突。 webpages_Membership_UserId”。冲突发生在数据库“PCSPI”,表“dbo.webpages_Membership”,列'UserId'。 该声明已被终止。*
我试图用sql server手动插入它并插入,但只要我尝试在我的应用程序上执行它,就会抛出异常。
我在做什么错?模型没有很好的定义? 在此先感谢
谢谢你会记住! – oskar132 2013-04-27 17:38:17
链接似乎被破坏。 – 2015-01-31 22:43:09
我已联系该页面的作者,不幸的是内容丢失,缺少备份。这意味着,应该删除整个问题,因为这是由于现在删除的文章中的错误导致的。 – 2015-04-26 17:06:02