我正在尝试使用Entity Framework创建一个数据库表,该表将具有两列,一列用于 Person ,另一列用于 Person 。换句话说,将有两个外键,每个外键都指向同一表上的两个不同的记录。
最符合我情况的one question书写得不好,也没有答案。在StackOverflow和其他地方的Most questions处理多个记录的集合。在我的情况下,我只是需要知道如何在模型的同一张表上设置两个外键。
这对我来说并不正确,Visual Studio也不喜欢它,因为代码两次引用了Person。
public class Lesson
{
[Key]
public int LessonId { get; set; }
[ForeignKey("Person")]
[Column(Order = 0)]
public string studentId { get; set; }
public Person Person { get; set; }
[ForeignKey("Person")]
[Column(Order = 1)]
public string teacherId { get; set; }
public Person Person { get; set; }
}
这对您来说合适吗?我是否要解决错误的问题? ...或者更好的是,是否只有一些语法可以使这项工作奏效?