MVC如何将AspNetUsers与其他表关系起来

时间:2016-11-20 12:10:07

标签: c# asp.net-mvc asp.net-identity code-first

我需要首先使用代码在我的模型表与AspNetUsers表之间建立一对一的关系。我已经尝试了很多我在这个网站上看到的方法,但没有一种方法可以工作。

这是我的桌子型号(Play):

public class Play
{
    [Key]
    public int Id { get; set; }
    public string PlayLink { get; set; }


    public string UserId { get; set; }
    [ForeignKey("UserId")]
    public virtual ApplicationUser User { get; set; }

    [ForeignKey("PlayList")]
    public int? PlayListId { get; set; }
    public virtual PlayList PlayList { get; set; }

}

这是标识模型:

public class ApplicationUser : IdentityUser
{
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager)
    {
        // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
        var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
        // Add custom user claims here
        return userIdentity;
    }


    [ForeignKey("Organization")]
    public int OrgId { get; set; }
    public virtual Organization Organization { get; set; }

    public virtual ICollection<Play> Plays { get; set; }
}

这是我在尝试更新数据库时遇到的错误:

  

ALTER TABLE语句与FOREIGN KEY约束“FK_dbo.Plays_dbo.AspNetUsers_UserId”冲突。冲突发生在数据库“playlisttestdb”,表“dbo.AspNetUsers”,列“Id”。

这个网站上有很多与此问题有关的帖子,我几乎尝试了所有帖子,但仍然没有。

0 个答案:

没有答案