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

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?

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.

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

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.

0

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

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