используя ограничение "In" для сбора в NHibernate - PullRequest
0 голосов
/ 12 августа 2010

Допустим, у меня есть 4 класса

Student { int StudentId, string StudentName, IList StudentMarks}

BaseMarks {bool GrandTotalMarks}

SpecialMarks: BaseMarks {Результаты Ilist}

Результат {string grade, bool Result}

Теперь у меня есть метод, который заполняет список студентов IList и коллекцию вложенных меток, но внутренне настраивает его на научные оценки.Т.е. каждая базовая отметка в Student может быть типизирована в ScienceMarks для получения значения свойства практических оценок.

IList student_List = SomeMethodWhichRetursCollection ();

QUESTION Как отфильтровать учащихся, у которыхполучил оценку «А» по ​​любому предмету.

что-то вроде:

Студенты, где ((SpecializedMarks) Students.StudentMarks). Коллекция результатов.Любое значение свойства Grade = "A"

1 Ответ

0 голосов
/ 12 августа 2010

HQL: язык запросов Hibernate

LINQ для NHibernate

// using HQL
var students = Session.CreateQuery("from Students s where s.Grades = :grade")
                 .SetParameter("grade","A")
                 .List<Student>();

// using NHibernate.Linq
var students = Session.Linq<Student>().Where(s => s.Grades == "A").ToList();
// or something more complex
var students = Session.Linq<Student>()
                 .Where(s => s.Grades.Where(x => x.Score == "A"))
                 .ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...