2

Ich benutze Silverlight-Client mit ado.net dataservices auf Entity-Framework.EF einfügen verwandte Objekte

Ich habe eine Entität Kontakt und eine Entity-Adresse, die mit einem Fremdschlüssel Beziehung Schiff verbunden ist ... ein Kontakt: 1 oder mehr Adressen haben, aber eine Adresse muss immer mindestens 1 Kontakt .. ziemlich einfach .. .

habe ich meine Kontakte und Adresse ein Repository für die eine Methode (T juristische Person), hinzufügen hat ...

auf meinem Auftraggeber habe ich eine Form Benutzer einen Kontakt mit einer Adresse mit ermöglicht hinzufügen

und ich möchte beide in die Datenbank speichern ...

Address a = new Address(); 
a.Street="Street", 
a.City = "City" 
a.Contact = 
new Contact(){ Name="Name",Age="60"} 

_repository.Add(a); 

.... 

Ok habe ich herausgefunden, dass ich nicht ein verwandtes Objektgraphen speichern kann sofort so habe ich so etwas wie diese

DataBaseEntities.AddToContact(obj2Badded.Contact); 
DataBaseEntities.AddToAddress(obj2Badded); 
DataBaseEntities.SetLink(obj2Badded,"Contact",object2Badded.Contact); 
DataBaseEinties.BeginSaveChanges(...) 

Gibt es weg dies wie in transations zu tun, wenn der Kontakt nicht hinzugefügt Adresse wird auch nicht hinzugefügt und umgekehrt werden ...

... und alles, was ich versucht habe, funktioniert nicht ...

Es wäre toll, wenn jemand mich in die richtige Richtung zu diesem Thema ich zeigen kann will einfach t o ein zugehöriges Objektdiagramm hinzufügen =} ...

Antwort

0

Ihr erstes Beispiel sollte gut funktionieren, verwandte Entitäten und alle. Sie müssen verknüpfte Entitäten nicht separat zum Kontext hinzufügen, wenn Sie für beide neue Objekte einfügen. Also, wenn Sie uns nicht sagen, was das Problem ist, wenn Sie diesen Code ausgeführt haben, wird es schwer zu helfen.

0

hatte ich ein ähnliches Problem und es funktionierte für mich nach

DatabaseEntities.BeginSavingChanged(); 

Das ist nicht nötig, bevor

so etwas wie

DatabaseEntities.UpdateObject(obj2Badded); 

gerade hinzufügen, wenn Sie die edmx in Ihrem Projekt en Gebrauch gehören die ObjectContext, aber es wird benötigt, wenn Sie eine Service-Referenz erstellen und den generierten DataServiceContext verwenden.