假设我有4个班级
学生 { int StudentId,字符串 StudentName, IList< BaseMarks> StudentMarks}
BaseMarks {bool GrandTotalMarks}
SpecializedMarks:BaseMarks {Ilist Results}
结果 {string grade,bool Result}
现在, 我有一个方法填充学生列表IList和嵌套标记集合,但在内部将其强制转换为科学标记。即学生中的每个基准都可以与ScienceMarks联系,以获得实用的商标价值。
IList student_List = SomeMethodWhichRetursCollection();
问题 如何筛选在任何科目中获得“A”等级的学生。
类似的东西:
学生所在地((SpecializedMarks)Students.StudentMarks)。结果收集。任何Grade属性的值=“A”
答案 0 :(得分:0)
HQL: The Hibernate Query Language
<强> LINQ for 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();