| 

.NET C# Java Javascript Exception

6
Ich benutze die Tabellen "Benutzer", "BenutzerGruppen" und "BenutzerInBenutzerGruppen"

Ich habe eine Entität "UserGroups" in der die Liste "BenutzerInBenutzerGruppen" verfügbar ist. Diese wiederum hat eine Verbindung zum Benutzer.

Mein WPF-Client hat die Entität komplett geladen (Benutzergruppe) und soll nun die namen der Benutzer anzeigen (Spalte in der tabelle "Benutzer").

Da aber die Eigenschaft "BenutzerInBenutzerGruppen" eine Collection ist, finde ich nicht die richtige Eigenschaft, an die ich meine Listbox binden kann.

Muss ich da noch was verändern?
News:
14.05.2013
MyKey0815 1,6k 2 9
3 Antworten
2
Anstatt die Daten alle in einem Model zu halten, wäre es vielleicht besser, wenn Du an eine (Service)-Klasse einen Parameter übergibt, der Dir dann alle Benutzer einer Benutzergruppe zurückgibt.

// Pseudocode
public IEnumerable<User> GetUsersInGroup(int groupId)


Die Collection aller Benutzer kannst Du ja dann an Dein Control binden.
15.05.2013
lbm1305 849 1 8
2
Aus der Hüfte geschossen:
Kannst du für die ListBox ein ItemTemplate hinterlegen? In dem ItemTemplate definierst du die Anzeige eines Items aus der Listbox. Ein Item ist ja, wenn ich dich richtig verstanden habe, eine Entität UserGroups, die durch Navigationseigenschaften den jeweils passenden Benutzer enthält. So kannst du in dem ItemTemplate die gewünschten Eigenschaften aus UserGroup und dem zugehörigen Benutzer anzeigen.
15.05.2013
Andreas Richter 1,7k 1 2 8
Danke Andreas, aber leider funktioniert dass nicht so, weil die BenutzerGruppen auf die BenutzerInBenutzerGruppen verweise und erst diese dann auch Benutzer. BenutzerInBenutzerGruppen hält nur die ID´s der jeweiligen Information parat
MyKey0815 15.05.2013
1
Probier's doch mal damit:

<TextBlock Text="{Binding Benutzer.Name}" />


Ich habe dabei angenommen, dass deine BenutzerInBenutzerGruppen Tabelle ein Navigation-Property mit dem Namen "Benutzer" hat, das auf die Benutzer-Entität verweist.

Vergiss nicht, alle notwendigen referenzierten Objekte mit Include-Anweisungen zu laden ("eager loading").
17.05.2013
candritzky 66 1

Stelle deine .net-Frage jetzt!