Как получить весь дочерний элемент из родительского EF ядра? - PullRequest
0 голосов
/ 09 апреля 2019

Предлагаю, если в одном классе и классе много учеников.Я хочу, чтобы все студенты в классе.Но я не могу получить ни одного студента из запроса.Большое спасибо за помощь.

Я использую EF core 6

_context.class

результат равен [classID:1,name:'basic',students[]].Я надеюсь, что результат [classID:1,name:'basic',students[{StudentID:1,Name:'John'}]]

1 Ответ

0 голосов
/ 15 апреля 2019

Если у вас есть два класса (кодовый класс) «Класс» (разрешено ли это имя?) И «Студент».И ваш контекст имеет:

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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...