使用Entity Framework Core转换关系表

时间:2019-09-04 14:52:04

标签: c# entity-framework-core entity

我阅读了有关如何自定义一对多关系的Entity Framework Core文档,但我不了解此约定之间的区别。您可以在[1]中看到这些约定。

那么这些约定之间有什么区别?

[1]:https://www.entityframeworktutorial.net/efcore/one-to-many-conventions-entity-framework-core.aspx

我只尝试了约定1和2。

公约1:

public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }

    public Grade Grade { get; set; }
}

public class Grade
{
    public int GradeId { get; set; }
    public string GradeName { get; set; }
    public string Section { get; set; }
}

公约2:

public class Student
{
    public int StudentId { get; set; }
    public string StudentName { get; set; }
}

public class Grade
{
    public int GradeId { get; set; }
    public string GradeName { get; set; }
    public string Section { get; set; }

    public ICollection<Student> Students { get; set; } 
}

1 个答案:

答案 0 :(得分:0)

在第一个示例中,您通过Grade实体访问Student属性以查看学生的成绩。在第二个示例中,您将通过Students实体访问Grade属性,以查看具有该年级的所有学生。实际上,您可以同时进行这两种操作,并且在每种情况下都可以使用流利的API或相关属性专门定义关系。