Как я могу получить список студентов из этой схемы базы данных? - PullRequest
0 голосов
/ 07 апреля 2011

У меня есть следующая база данных:

table Student
StudentID 
Name
LastName

table Grade
GradeId
Name

table GradeInstance
GradeInstanceId
GradeId
Name
Year

table StudentInstance
StudentInstanceId
GradeInstanceId
StudentInstanceId

Как я могу получить список студентов из данного экземпляра класса?

Я использую Entity Framework в качестве своего ORM, так что бызапрос Linq будет похож на?

Редактировать: мне нужно вернуть объекты Student, а не объект StudentInstance, потому что они не содержат атрибутов, которые мне нужны для заполнения GUI.

Так что-то вроде этогоне работает для меня, если я что-то здесь упускаю.: P

dbContext.StudentInstances.Where(s => s.GradeInstanceId == 1);

Ответы [ 3 ]

1 голос
/ 07 апреля 2011
from s in dbContext.Student
join si in dbContext.StudentInst on s.StudentID equals si.StudentInstanceID
join g in dbContext.Grade on si.GradeInstanceID equals g.GradeID
where g.Name = ...
select s;
0 голосов
/ 07 апреля 2011

вы можете добавить свойство навигации к вашей сущности GradeInstance в коллекцию связанных с ней сущностей учеников (на самом деле у вас есть возможность сделать это из мастера добавления ассоциации), затем вы можете получить к нему доступ просто с помощью: gradeInstance.Students

Надеюсь, это поможет

0 голосов
/ 07 апреля 2011

Это должно помочь вам начать ....

    public static List<Student> GetStudents(int gradeId)
    {
        using (var context = new Entities())
        {
            List<Student> myList = (from s in dbContext.Student 
join si in dbContext.StudentInst on s.StudentID equals si.StudentInstanceID
join g in dbContext.Grade on si.GradeInstanceID equals g.GradeID
where g.GradeId = gradeId
select s).ToList();

         return myList;
        }
    }

Использование слегка измененного запроса : D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...