假设我有两个班级,
public class UserBio {
[Key]
public string Id { get; set; }
[Required]
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Required]
[Display(Name = "Last Name")]
public string LastName { get; set; }
}
public class UserPosts
{
[Key]
public int PostId { get; set; }
public string CreatedBy { get; set; }
public string Description { get; set; }
}
我的问题是,如何将UserPosts中的CreatedBy映射到UserBio中的Id属性?我知道一种方法是用UserBio替换CreatedBy的数据类型。但由于某些问题,这似乎不是一个好主意。我想将CreatedBy作为字符串插入,在检索过程中,UserPosts还包含用户的UserBio。 你能帮我解决这个问题吗?我必须使用Fluent api吗?或者我可以用数据注释实现吗?
答案 0 :(得分:1)
我正在使用Designer从数据库创建我的类,但我相信这将适合您的情况。我认为您需要做的是在UserBio类型的UserPosts类中创建一个公共虚拟属性。
public virtual UserBio users { get; set; }
访问UserPost时,您可以引用创建帖子的用户。然后我将摆脱createdBy属性,因为不再需要它了。
答案 1 :(得分:0)
public class UserPosts
{
[Key]
public int PostId { get; set; }
[ForeignKey("User")]
public string CreatedBy { get; set; }
public virtual UserBio User { get; set; }
public string Description { get; set; }
}