如何从父母使用的EF核心中获取所有子元素

时间:2019-04-09 16:04:51

标签: entity-framework

提议,上一堂课,有很多学生。我想让所有学生上课。但是我无法从查询中获取任何学生。非常感谢您的帮助。

我使用EF核心6

_context.class

结果为[classID:1,name:'basic',students[]]。我希望结果是[classID:1,name:'basic',students[{StudentID:1,Name:'John'}]]

1 个答案:

答案 0 :(得分:0)

如果您有两个类(代码类),则为“类”(是否允许使用此名称?)和“学生”。 您的上下文有:

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();