2009-06-22 24 views
3

Heres eine neue Frage für Sie.linq to sql + Update-Tabelle

Ich habe eine Multi-Tier-Umgebung, so dass ich die ursprüngliche Datacontext nicht haben, wo das Element erstellt wurde, so dass ich ein Problem habe die Tabelle immer richtig zu aktualisieren - hier ist das, was im tut:

1.) Get macht das Objekt aus der DAL Schicht 2.) ändert 3.) Anruf Update auf der DAL-Schicht und übergeben Sie die modifizierte Einheit 4.) auf der DAL Schicht, wo im zu aktualisieren versuchen:

var a = (p => p.ID == 3); 
a = myPassedInEntity 
myContext.Update(); 

wenn i Inspect 'a' vor dem Aufruf der Aktualisierung hat es die Werte der myPassedInEntity aber savi ng speichert nur die alten Daten.

Warum gibt es kein UpdateOnSubmit() wie es InsertOnSubmit() gibt?

Antwort

2

Es gibt ein paar Optionen, um Ihre Probleme hier zu beheben - siehe die Antworten auf this question oder this one für weitere Informationen. Grundsätzlich besteht Ihre Möglichkeit darin, die Linq-Serialisierung zu verwenden, um DataContext-Grenzen zu überschreiten, einen Zeitstempel zum Verfolgen von Zeilenversionen zu verwenden oder Ihre Eigenschaften einzeln zu aktualisieren.