我需要首先使用代码在我的模型表与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”。
这个网站上有很多与此问题有关的帖子,我几乎尝试了所有帖子,但仍然没有。