实体框架模型上同一表的两个外键元素?

我正在尝试使用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; }
}

这对您来说合适吗?我是否要解决错误的问题? ...或者更好的是,是否只有一些语法可以使这项工作奏效?

mgdbrrr 回答:实体框架模型上同一表的两个外键元素?

  

这对您来说合适吗?

不。 尝试类似的东西:

public class Lesson
{
    [Key]
    public int LessonId { get; set; }

    [ForeignKey("Student")]
    public string StudentId { get; set; } 
    public Person Student { get; set; }

    [ForeignKey("Teacher")]
    public string TeacherId { get; set; }
    public Person Teacher{ get; set; }

}
本文链接:https://www.f2er.com/3127409.html

大家都在问