RIA Services: Einfügen mehrerer Präsentationsmodellobjekte

Ich teile Daten über RIA-Dienste mithilfe eines Präsentationsmodells über LINQ to SQL-Klassen. Auf dem Silverlight-Client habe ich einige neue Entitäten (Album und Künstler) erstellt, die miteinander verknüpft wurden (indem ich das Album entweder zur Album-Sammlung des Künstlers hinzufügte oder die Artist-Eigenschaft für das Album festlegte - eines davon funktioniert) sie an den Kontext und übermittelte Änderungen.

Auf dem Server erhalte ich zwei separate Insert-Aufrufe - einen für das Album und einen für den Interpreten. Diese Berechtigungen sind neu, daher werden ihre ID-Werte beide auf den Standardwert int gesetzt (0 - bedenken Sie, dass dies in Abhängigkeit von meiner DB eine gültige ID in der DB sein kann), da Sie meines Wissens keine IDs festlegen für neue Entitäten auf dem Client. Dies alles würde gut funktionieren, wenn ich die LINQ zu SQL-Klassen über meine RIA-Dienste übertragen würde, da, obwohl die Albumeinfügung den Interpret und die Interpreteinfügung das Album enthält, beide Entitäten sind und der L2S-Kontext sie erkennt. Bei meinen benutzerdefinierten Präsentationsmodellobjekten muss ich sie jedoch zurück in die LINQ to SQL-Klassen konvertierenBeibehaltung der Assoziationen im Prozess Sie können also dem L2S-Kontext hinzugefügt werden.

Einfach gesagt, soweit ich das beurteilen kann, ist dies unmöglich. Jede Entität erhält einen eigenen Aufruf zum Einfügen. Sie können jedoch nicht einfach eine Entität einfügen, da die Verknüpfungen ohne IDs verloren gehen. Wenn die Datenbank GUID-Bezeichner verwenden würde, wäre dies eine andere Geschichte, da ich diese auf dem Client festlegen könnte.

Ist das möglich oder soll ich ein anderes Design verfolgen?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage