如何将我自己的模型中的外键正确添加到 EF 用户配置文件

本文关键字:添加 EF 配置文件 用户 我自己 自己的 模型 | 更新日期: 2023-09-27 18:32:50

我的模型类优先:

public class Person
{
    [Required, Key]
    public int ID { get; set; }
    [Required]
    public string Name { get; set; }
    [Required]
    public string LearntSkillsAndLevelOfSkills { get; set; }
    public string ProfileImage { get; set; }
    public string City { get; set; }
    public string PhoneNr { get; set; }
    [Required]
    public string Email { get; set; }
    public string Hobbys { get; set; }
    public string SkillsToLearn { get; set; }
    public string Stand { get; set; }
    public int YearsOfWorkExperience { get; set; }
    public string HobbyProjectICTRelated { get; set; }
    public string ExtraInfo { get; set; }
    public string Summary { get; set; }
    public int UserId { get; set; }
    [ForeignKey("UserId")]
    public virtual UserProfile profile { get; set; }
}


 [Table("UserProfile")]
    public class UserProfile
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int UserId { get; set; }
        public string UserName { get; set; }
        public Nullable<int> ID { get; set; }
        public virtual Person personprofile { get; set; }
    }

但是,当我运行它时,它给了我这个异常:必须显式配置此关联的主体端

我已经搜索了这个错误,但它没有为我澄清它......所以我绝对不知道如何解决这个问题。基本上,我想将我的 Person 类链接到用户配置文件,以便我可以创建一个登录机制,自动让 1 个在网站上创建帐户的人获得 1 个配置文件进行编辑到他自己的信息。但是,他不允许修改其他人的帐户。

我希望这使我的问题清楚,并且有人可以帮助我:)。 顺便说一句,我正在使用EF 6,并且在InitializeSimpleMemberAttribute类中收到错误,该类是MVC示例的标准 ASP.net

提前问候和感谢,
马里恩

如何将我自己的模型中的外键正确添加到 EF 用户配置文件

我设法让它在模型中使用这些代码:

[Table("UserProfile")]
public class UserProfile
{
     [Key, DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
     public int UserId { get; set; }
     public string UserName { get; set; }
     public virtual Person personprofile { get; set; }
}


public class Person
{
    [ForeignKey("profile"), Key]
    public int UserId { get; set; }
    [Required]
    public string Name { get; set; }
    [Required]
    public string LearntSkillsAndLevelOfSkills { get; set; }
    public string ProfileImage { get; set; }
    public string City { get; set; }
    public string PhoneNr { get; set; }
    [Required]
    public string Email { get; set; }
    public string Hobbys { get; set; }
    public string SkillsToLearn { get; set; }
    public string Stand { get; set; }
    public int YearsOfWorkExperience { get; set; }
    public string HobbyProjectICTRelated { get; set; }
    public string ExtraInfo { get; set; }
    public string Summary { get; set; }
    public UserProfile profile { get; set; }
}