.net - 代码优先中的一对多关系有什么区别?
问题描述
我尝试了所有这些,但结果都一样。所有人都做同样的事情吗?
我可以简单地添加第一个为什么我应该使用其他的?
这是我查看的代码;
//1-One to Many
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; }
}
第二个是:
//second...
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; }
}
第三:
//third...
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; }
public ICollection<Student> Student { get; set; }
}
最后:
//fourth..
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; }
public ICollection<Student> Student { get; set; }
}
这是我查看代码的链接:
解决方案
是的,你是对的,都是一样的,但是定义相同关系的方式不同。
您可以参考https://docs.microsoft.com/en-us/ef/core/modeling/relationships以获得更好的理解。
推荐阅读
- matrix - 使用 Verilog 加载 3D 矩阵
- python - 访问没有名称的列并从数据框中删除某些数据
- java - SpringFox @ApiModelProperty 为可选
- javascript - 比较javascript中的原始数据类型和对象数据类型
- python - SQRT 使用任何方法(fe Newton),但分隔符后位数固定
- mysql - Ansible:从结果中获取值
- c# - 检测矩形是否与地理坐标中的其他矩形相交
- kubernetes - 不同命名空间中 k8s 的入口配置
- visual-studio-code - 如何控制 VSCode 复合启动顺序?
- javascript - 如何在我的 DC.js 图表中加载一个非常大的文件?