C# 实体框架核心关系-外键

C# 实体框架核心关系-外键,c#,entity-framework,foreign-keys,entity-relationship,C#,Entity Framework,Foreign Keys,Entity Relationship,由于我刚刚开始学习实体框架,我想知道如何正确地创建两个表之间的关系 我会亲自尝试,但我甚至无法设置数据库连接:( 这是我的问题,这里有两个班级(表格)Student和Grade: public class Student { public int Id { get; set; } public string Name { get; set; } public int GradeId { get; set; } public Grade Grade { get;

由于我刚刚开始学习实体框架,我想知道如何正确地创建两个表之间的关系

我会亲自尝试,但我甚至无法设置数据库连接:(

这是我的问题,这里有两个班级(表格)
Student
Grade

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

    public int GradeId { get; set; }
    public Grade Grade { get; set; }
}

public class Grade
{

    public int GradeId { get; set; }
    public string GradeName { get; set; }

}
在上面的例子中,我意识到将type
Grade
添加为属性将创建与表
Grade
的关系,
现在重要的事情但是忘记保存外键值的
GradeId
呢?它位于
Grade
类型的上方,它的名称是
GradeId
,如果我把它放在其他地方,像
StudentGradeId
那样命名,它还会是
ForeignKeyId
,还是必须是stricly(包含type+Id,如我的示例中所示):
TypeNameId=GradeId

EF将按照约定将导航属性与外键属性相匹配。因此,如果导航属性称为Grade,外键属性称为GradeId,它们将自动匹配


如果它们不遵循约定,您只需通过使用或使用中的Fluent API修饰属性来显式配置它们。

因此,如果我的属性名为Grade,外键道具名为StudentGradeId,我就不遵循约定了?谢谢