1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

[Silverlight WCF-RIA] CRUD mit Relationen

Dieses Thema im Forum ".NET WPF & Silverlight" wurde erstellt von N0ACE, 8. Juli 2014.

  1. N0ACE

    N0ACE Mitglied

    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 (Text):
    1. Groups: id, name
    2. States: id, name
    3. Users: id, username
    4. 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 (Text):
    1. Gruppe: [ComboBox] (Stellt auch alle Gruppen dar)
    2. Status: [ComboBox] (Stellt auch alle Status' dar)
    3. 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 (Text):
    1. // PowerusersService.cs - erweitert um folgende Methode:
    2. public User GetUserByUsername(string username)
    3. {
    4.     return this.ObjectContext.Users
    5.         .Where(u => u.username == username)
    6.         .First();
    7. }

    Code (Text):
    1. // PoweruserAdd.xaml - im Save_Click-Event:
    2. PowerusersContext ctx = new PowerusersContext();
    3. EntityQuery<User> query = ctx.GetUserByUsername("istVorhanden");
    4. LoadOperation<User> loadOp = ctx.Load(query);
    5.  
    6. User loadedUser = loadOp.Entities.First();
    7. // 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!
     
Die Seite wird geladen...