我的 ApplicationUser 模型定义如下:
public class ApplicationUser : IdentityUser
{
public virtual UserProfileInfo UserProfileInfo { get; set; }
}
UserProfileInfo 是包含额外用户数据的辅助表,定义如下:
public class UserProfileInfo
{
public int Id { get; set; }
public string SuperiorId { get; set; }
[ForeignKey("SuperiorId")]
public virtual ICollection<ApplicationUser> Superior { get; set; }
}
每个用户在业务层次结构中都有一个或多个优于他们的人。但是,尝试执行迁移会导致以下错误:
属性&#39; Superior&#39;上的ForeignKeyAttribute on type&#39; Project.Models.UserProfileInfo&#39;无效。外键名称&#39; SuperiorId&#39;在依赖类型&#39; Project.Models.ApplicationUser&#39;上找不到。
如何在我的情况下对 ApplicationUser 进行外键引用?
答案 0 :(得分:1)
你需要反过来做,ID是导航属性的外键:
public class UserProfileInfo
{
public int Id { get; set; }
[ForeignKey("Superior")]
public string SuperiorId { get; set; }
public virtual ICollection<ApplicationUser> Superior { get; set; }
}