public class Feedback
{
public virtual int Id { get; private set; }
public virtual string ContentText { get; set; }
public virtual DateTime FeedbackDate { get; set; }
public virtual Student student { get; set; }
}
Meine Feedback-Klasse.Sortieren mit mathematischer Formel mit nHibernate (C#)
public class Student
{
public virtual int Id { get; private set; }
public virtual int NumberOfStars { get; set; }
public virtual IList<Feedback> Feedbacks { get; private set; }
public Student()
{
Feedback = new List<Feedbacks>();
}
}
Mein Student Class
public class Course
{
public virtual int Id { get; set; }
// bla bla bla
public virtual IList<Student> Students { get; private set; }
public Course()
{
Students = new List<Student>();
}
public IList<Student> SortBy(string type)
{
// some other sorting
else if (type.Equals("popular")){
sortedStudents = session.CreateCriteria(typeof(Student))
.CreateAlias("Student", "s")
.CreateAlias("s.Feedback", "f")
.AddOrder(Order.Desc(--------))
.List();
}
return (IList<Student>) sortedStudents;
}
}
Mys Course Klasse
Ich mag Studenten in einem Kurs mit Methode SortBy sortieren: wenn Typ xi mit folgenden Regel (Students.Feedback wird sortieren ist .Count) * 5 + Student.NumberOfStars)
Wie?
Muss es Kriterien sein? Es ist viel einfacher in HQL. –
Können Sie sowohl in HQL als auch in Kriterien schreiben? – gandil
Sicher, Sie können für jede Abfrage verwenden, was Sie wollen. Ich würde HQL bevorzugen, es sei denn, Sie benötigen dynamische Abfragen (das heißt: wenn die Struktur zur Laufzeit definiert ist). –