如何将我自己的模型中的外键正确添加到 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
提前问候和感谢,
马里恩
我设法让它在模型中使用这些代码:
[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; }
}