Gab es nicht bei Datenbanken die Möglichkeit, die
Query-Ergebnisse gleich so zu filtern, dass sie unter Umständen schon sortiert ankommen?
Wenn nicht, dann meinen die im Forum wohl den Weg, dass du die Ergebnisse der Datenbank in eine Liste (= Collection) kopierst und dann selbst eine Sortierroutine ansetzt.
Keine Ahnung, ob das besonders elegant ist (wo ist der Robert, wenn man ihn mal braucht?
), aber es funktioniert:
Code:
public List<Person> SortByAge()
{
IList<Person> personen = oc.Query<Person> (typeof(Person));
List<Person> sortedList = new List<Person>(personen);
AgeComparer ageCompare = new AgeComparer();
sortedList.Sort(ageCompare);
return sortedList;
}
class AgeComparer : IComparer<Person>
{
public int Compare(Person a, Person b)
{
return decimal.Compare(a.Alter, b.Alter);
}
}
// Beispiel:
Queries queries = new Queries(
db);
List<Person> sortedResult = queries.SortByAge();
foreach(Person person4 in sortedResult)
{
Console.WriteLine("{0} ist {1} Jahre alt", person4.Name, person4.Alter);
}