entity-framework - 如何从使用 EF 核心的父级获取所有子元素
问题描述
建议,有一个班级,班级有很多学生。我想让所有的学生都上课。但我无法从查询中获得任何学生。非常感谢您的帮助。
我使用 EF 核心 6
_context.class
结果是[classID:1,name:'basic',students[]]
。我希望结果是[classID:1,name:'basic',students[{StudentID:1,Name:'John'}]]
解决方案
如果你有两个类(代码类)“Class”(这个名字是否允许?)和“Student”。你的上下文有:
DbSet<Class> Classes {get; set;}
DbSet<Student> Students {get; set;}
如果在课堂上你有:
public List<Student> Students {get; set;}
在学生中:
public Class Class {get; set;}
public int ClassId {get; set;}
那么你有2个选择:
1) 与所有学生一起上课。
var targetId = 17; //Id of class that we looking for put here.
var classWithStudents = context.Classes.Include(t => t.Students).FirstOrDefault(t => t.Id == targetId);
2) 只获取该班级的学生
var targetId = 17; //Id of class that we looking for put here.
var students = context.Students.Where(t => t.ClassId == targetId).ToList();
推荐阅读
- java - 映射器的可重用性
- shell - grep 根据特定字符获取整个单词
- google-oauth - 如何使用 Google openid 检查声明名称 amr?
- python - 关闭蜘蛛时 Scrapy/BigQuery 失败并发送此错误:OSError: [Errno 5] Input/Output error
- c# - 如何将包含 CorelDraw 项目的 DocX 转换为 PDF?
- c# - 每次我的测试运行时更新我的 .Json 中的值
- unity3d - Unity的四元数旋转矩阵是如何计算的?
- reactjs - this.props.form.field.isFieldTouched 在 antd 表单 Upload.Dragger 中无法正常工作
- ruby - 可以从给定的pdf生成对虾代码的ruby gem
- mysql - 如果不存在则更新