| 

.NET C# Java Javascript Exception

5
Hallo Zusammen,

Ich verwende das Entity Frame Work, innerhalb einer ASP.NET-Anwendung.
Dabei habe ich folgendes Problem. Ich hoffe einer von Euch kann mir dabei helfen.

Ich habe eine Datenbanktabelle "Freigabe":

Die sieht im Server so mit Inhalt aus:

FeldID UserID Freigabe
92 x.xxx M01
92 x.xxx M02
92 x.xxx M03
92 x.xxx M04
92 x.xxx M05

Diese Tabelle habe ich durch "Aktualisieren aus der Datenbank" auf eine Klasse "Freigabe" gemappt.

Nun setze ich folgende Abfrage ab:

List<Freigabe> result = _db.Freigabe.Where(n => n.UserID == "x.xxx" && n.FeldID == 92).ToList();


_db ist ein lokale Instanz des Datenbank-Modells.

Als Ergebnis erhalte ich zwar eine Liste mit 5 Einträgen, aber wenn ich mir die "Properties" anschauen, steht in Freigabe überall "M01" drin, und nicht wie erwartet die Werte M01 bis M05. Es wird nachstellbar immer die Werte das "oberste" aus der Datenbanktabelle zurückgegeben.

Ist Euch schon mal so ein Verhalten begegnet, denn ich weiß nicht mehr weiter.

Vielen Dank für Eure Hilfe.

Gruß

Thomas
28.02.2014
Tom Bomabdil 51 2
lbm1305 849 1 8
1 Antwort
3
Hallo Zusammen,

Ich habe nun die Lösung des Problems herrausgefunden.

Die Tabelle Freigabe enthielt in der Datenbank keine Schlüssel, sodass der ObjektMapper einen nach "besten Wissen und Geweissen" ;-) vergeben hat, und nur einen readOnly-View daraus gemacht hat.

Der Schlüssel war FeldID + UserID. Das passt aber nicht, da es zu der Kombination FeldID + UserID mehrere Einträge (in dem Fall 5) geben kann. Dadurch erscheint es irgendwie plausibel, dass er versucht nur den "ersten Datenbankeintrag" zuzulassen. Dass er aber trotzdem mehrfach den gleichen Datensatz lädt finde ich dann irgendwie inkonsequent. :-(

Gruß

Thomas
01.03.2014
Tom Bomabdil 51 2

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH