Anzeige

[Silverlight WCF-RIA] CRUD mit Relationen

#1
Hallo zusammen,

ich habe folgende Situation und sehe bisher leider kein Licht am Ende des Tunnels: Es wird eine Silverlight-Anwendung programmiert, welche eine recht einfache Oberfläche zum Hinzufügen, manipulieren und löschen von Datensätzen darstellen soll.

Die zu Grunde liegende DB sieht (vereinfacht) folgendermaßen aus:

Code:
Groups: id, name
States: id, name
Users: id, username
PowerUsers: id, groupId, stateId, userId
D.h., ein PowerUser hat sowohl eine Gruppe, als auch einen Status.
Auf die Tabelle Users kann ich nur lesend zugreifen, daher der ForeignKey für den User.
=> PowerUser hat also drei ForeignKeys

CRUD-Operationen für die Groups und States habe ich erfolgreich implementiert bekommen (via WCF-RIA-Service), jedoch bereiten mir die PowerUsers Kopfzerbrechen. Die Create-Ansicht für einen PowerUser sieht in etwa so aus:

Code:
Gruppe: [ComboBox] (Stellt auch alle Gruppen dar)
Status: [ComboBox] (Stellt auch alle Status' dar)
username: [TextBox] (freies Textfeld...)
sobald ein Username eingetragen wird, möchte ich das entsprechende User-Object aus der Tabelle Users erhalten, sodass ich diesen entsprechend hinzufügen kann.

Leider habe ich keine Ahnung, wie ich an dieses User-Object mit dem entsprechenden Usernamen herankomme.

Folgendes habe ich (u.a.) versucht:

Code:
// PowerusersService.cs - erweitert um folgende Methode:
public User GetUserByUsername(string username)
{
    return this.ObjectContext.Users
        .Where(u => u.username == username)
        .First();
}

Code:
// PoweruserAdd.xaml - im Save_Click-Event:
PowerusersContext ctx = new PowerusersContext();
EntityQuery<User> query = ctx.GetUserByUsername("istVorhanden");
LoadOperation<User> loadOp = ctx.Load(query);

User loadedUser = loadOp.Entities.First();
// loadedUser ist immer NULL, Nachname ist definitiv in DB vorhanden

Für etwaige Hilfe, wie ich dieses "fremd-geladene" User-Object dem PowerUser zuordnen kann, wäre ich sehr dankbar!

Mit freundlichen Grüßen!
 
Anzeige

Neue Beiträge

Anzeige