Thema: C# db4o sortieren

Einzelnen Beitrag anzeigen

MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: db4o sortieren

  Alt 2. Mär 2006, 12:02
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);
}
  Mit Zitat antworten Zitat