EF und fehlerhafte Sortierung

23/06/2009 - 10:08 von Andreas Froebel | Report spam
Hallo zusammen,

ich àndere mit dem Entity Framework Datensàtze meiner Tabelle,
im folgenden Beispiel die sortiere ich alle Projekte aufsteigend nach einer
Nummer und drehe die Reihenfolge um:

Int32 Position = 100;
var Projekte_Sortiert1 = from p in entity.tbl_Projekte orderby
p.Projektnummer ascending select p;
foreach (var Projekt in Projekte_Sortiert1) {
Projekt.Projektnummer = Position;
Position--;
}

wenn ich dann danach die Liste erneut aufsteigend nach der Nummer
durchlaufe, ist die Liste absteigend sortiert.

var Projekte_Sortiert2 = from p in entity.tbl_Projekte orderby
p.Projektnummer ascending select p;
foreach (var Projekt in Projekte_Sortiert2) {
MessageBox.Show(Projekt.Projektnummer.ToString());
}

Hat jemand eine Idee, was ich falsch mache, oder was das Problem ist und was
ich machen muß, damit die Liste beim zweiten Durchlauf aufsteigend (und
nicht absteigend) sortiert ist?

Gruß
Andreas
 

Lesen sie die antworten

#1 Markus Springweiler
24/06/2009 - 10:13 | Warnen spam
Andreas,

Hat jemand eine Idee, was ich falsch mache, oder was das Problem ist und was
ich machen muß, damit die Liste beim zweiten Durchlauf aufsteigend (und
nicht absteigend) sortiert ist?



Du müsstest entweder zwischendurch speichern, oder wirklich mit einer Liste
arbeiten, denn das was du im Moment Liste nennst, ist eine Query die bei
jeder Iteration ausgeführt wird, und zwar gegen die Datenbank: Du erhàltst
aber (über den EntityKey) die bereits in den Kontext ("entity") geladenen
(und modifizierten) Objekte zurück.

/\/\arkus.

Ähnliche fragen