繁体   English   中英

实体框架核心关系——外键

[英]Entity framework core relationships - foreign key

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

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

这是我的问题,这里有两个类(表) StudentGrade

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; }

}

在上面的例子中,我意识到添加类型Grade作为属性会创建与表Grade关系,现在很重要,但是GradeId不知道持有外键值呢? 它位于上方Grade类型,它的名字是GradeId ,如果我位于别的地方把它命名为像StudentGradeId ,将仍然是ForeignKeyId 或者它必须是严格的(像我的例子一样包含 type + Id): TypeNameId = GradeId

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM