Korzystanie z asp.net 4 chociaż C#.LINQ do SQL - aktualizacja rekordów
W mojej warstwie dostępu do danych mam metody do zapisywania i aktualizowania rekordów. Zapisywanie jest łatwe, ale aktualizacja jest uciążliwa.
Poprzednio użyłem SubSonic, który był świetny, ponieważ miał aktywny rekord i wiedział, że jeśli załadowałem rekord, zmieniłem kilka wpisów, a następnie zapisałem je ponownie, to rozpoznało to jako aktualizację i nie próbowało zapisać nowego wpis w DB.
Nie wiem, jak zrobić to samo w LINQ. W rezultacie mój workflow jest tak:
- web page chwyta „nagrać” z DB
- Niektóre wartości w nim są zmieniane przez użytkownika.
- "Rekord A" jest przesyłany z powrotem do warstwy dostępu do danych
- Teraz muszę ponownie załadować Rekord A, nazywając go "ZapisaneRekord A", zaktualizować wszystkie wartości w tym obiekcie wartościami z podanego "Rekordu A" a następnie zaktualizuj/zapisz "SavedRecord A"!
Jeśli po prostu zapiszę "Record A", otrzymam nowy wpis w DB.
Oczywiście byłoby ładniejsze po prostu przejść nagrać i zrobić coś takiego:
RecordA.Update();
Ja zakładając, że coś mi tu brakuje, ale nie mogę znaleźć prostą odpowiedź on-line.
Dzięki, to zaskakujące, że nie ma lepszego sposobu na zrobienie tego. Robiłem metodę "dwóch wywołań DB", odkąd zaczynałem używać LINQ do SQL, ale zawsze miałem dokuczliwe uczucie, że brakowało mi oczywiście łatwiejszej odpowiedzi. Wygląda na to, że nie mam, co jest dobre i złe. –