fbpx
devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
2 minut

Simple.Data i "skomplikowany" update


13.03.2014

Simple.Datajest super. A ostatnio okazało się jeszcze… supersze.

Chciałem wygenerować zapytanie update “doklejające” pewną wartość do kolumny tekstowej. W Postgre byłoby to coś takiego:

update people set StatusUpdate = StatusUpdate || "new status," where id=1

Jak widać – robię update jednocześnie odwołując się do wartości kolumny z aktualizowanego wiersza
To by akurat nie zadziałało dla pierwszej “iteracji”, bowiem “null || string” zwróci nulla i zawsze miałbym pustą kolumnę. Finalnie w gołym sql powinno być tak:

update people set StatusUpdate = concat(StatusUpdate || "new status,") where id=1

Zmóżdżałem się nad tym zagadnieniem dobry kwadrans, zanim powstał kod robiący dokładnie to czego potrzebuję:

int id = 1;
string newStatus = "new status";
var peopleTable = db.People;
peopleTable.UpdateAll(
    peopleTable.Id == id
    , StatusUpdate: peopleTable.StatusUpdate.concat(newStatus + ",")
);

Działa mi to na Postgre, bo na Postgre jest funkcja concat operująca na stringach! Oczywiście nie tylko na Postgre jest funkcja concat() operująca na stringach, ale to nie ma znaczenia. Znaczenie ma fakt, że Simple.Data potrafi w ten sposób wykorzystywać funkcje dostępne w bazie, której akurat przyszło nam używać.

Awesome.

Nie przegap kolejnych postów!

Dołącz do ponad 9000 programistów w devstyle newsletter!

Zapisując się na newsletter zgadzasz się na przetwarzanie Twoich danych osobowych w celu wysyłania na wskazany przez Ciebie adres e-mail informacji handlowych o nowościach, promocjach, produktach i usługach związanych z serwisem devstyle.pl. Będzie to marketing bezpośredni, do realizacji którego wykorzystam Twoje telekomunikacyjne urządzenia końcowe. Administratorem Twoich danych osobowych będzie Maciej Aniserowicz prowadzący działalność gospodarczą w Białymstoku (15-215) przy ul. Konopnickiej 14/8, NIP 5422824401. Przysługuje Tobie prawo do cofnięcia zgody, żądania wglądu do Twoich danych, wniesienia sprzeciwu co do ich przetwarzania, sprostowania, usunięcia i ograniczenia przetwarzania. Więcej informacji o tym jak przetwarzam Twoje dane znajdziesz na devstyle.pl/RODO. Powered by ConvertKit
Notify of
trackback

Simple.Data i “skomplikowany” update | Maciej Aniserowicz o programowaniu…

Dziękujemy za dodanie artykułu – Trackback z dotnetomaniak.pl…

Krzysiek
Krzysiek

Co to za kolorowanie składni? ;)

Kurs Gita

Zaawansowany frontend

Szkolenie z Testów

Szkolenie z baz danych

Facebook

Książka

Zobacz również