Domyślne wartości obiektu na podstawie kolumn z bazy

Odpowiedz Nowy wątek
2019-06-11 10:13
0

Witam.
No to zaczynam dręczenie was głupimy pytaniami.
Potrzebuje nakierowania czy jest jakiś szybki sposób na stworzenie obiektu z domyślnymi wartościami. Potrzebuje tego do tej biblioteki do Comarch Optima. Ich kod na tworzenie dokumentu wygląda tak:

AdoSession Sesja = CreateSession(); //To tutaj nie ma większego znaczenia

DokumentyHaMag Dokumenty = (DokumentyHaMag)Sesja.CreateObject("CDN.DokumentyHaMag", null); //drugi parametr pobiera warunek (where)
IDokumentHaMag Dokument = (DokumentHaMag)Dokumenty.AddNew();

Z wymaganych rzeczy to podmiot, rodzaj i typ dokumentu.

IKontrahent Kontrahent = (IKontrahent)Sesja.CreateObject("CDN.Kontrahenci", "Knt_KntId='26523'");
Dokument.Podmiot = Kontrahent;
Dokument.Rodzaj = 308000;
Dokument.TypDokumentu = 308;

//Aby zapisać ten dokument trzeba wywołać
Sesja.Save();

Czy jestem w stanie wygenerować klasę na podstawie kolumn w bazie danych wraz z zależnościami - wymagany typ dokumentu, wymagany kontrahent itp itd?
Czy jedynym wyjściem jest klepać ręcznie taką klasę i samemu, podczas tworzenia obiektu, ustawiać domyślne wartości?
Ogólnie to chciałbym to ogarnąć Dapperem, czy to nie będzie strzał w kolano?

Pozostało 580 znaków

2019-06-16 01:40
0

Klasa to generalnie to, co oznaczasz słowem kluczowym class. Chcesz wygenerować kod źródłowy na podstawie kolumn z bazy? Da się oczywiście, ale może jednak nie o to chodzi?

Dapper raczej wymaga, aby definicja klasy była znana na etapie kompilacji.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2019-06-16 07:52
0

Mnie zależy, aby wygenerować klasę na postawie kolumn w bazie, ale jeśli kolumna ma 'NOT NULL' to ma w klasie już ustawić jakąś domyślną wartość np. jeśli to 'nvarchar' to ustawia 'string.Empty', jeśli kolumna jest wyliczana to pomija itp itd

Pozostało 580 znaków

2019-06-16 18:14
0

Czyli chcesz mieć ORMa z obsługą database first, i który automatycznie wygeneruje też ciało konstruktorów/inicjalizatory pól wg jakichś zasad. Nie słyszałem o takim narzędziu, nie pomogę.
Ja bym napisał klasy z konstruktorami, a potem użył Dappera, prawdopodobnie będzie to szybsze niż poszukiwanie jakichś bardziej automatycznych rozwiązań. No, ale oczywiście zależy od tego, ile masz tych klas.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2019-06-16 22:10
0

Klas mam niewiele, problemem są kolumny, których w jednej z tabel jest 225... Widzę, ze trzeba będzie klepać wszystko ręcznie ;-)

edytowany 1x, ostatnio: AdamWox, 2019-06-16 22:10

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0