Zdravím všechny, po mnohahodinovém pátrání se obracím zde, zdali by mi někdo neporadil, nebo nenavedl správným směrem.
V práci nemůžu používat EF, jen Dapper. Mám objekt, který má některé settery propert privátní, ale jejich hodnoty potřebuji dostat z db do toho objektu. EF to umí (jak to dělá se mi nepodařilo najít, ale nějak vyžívá privátní konstruktor), Dapper také, ale musí se shodovat názvy sloupců v db s názvy propert v objektu. Toho ale nemůžu využít, protože Dapper vyžaduje bezparametrický konstruktor a ten objekt parametry má, takže to v datové vrstvě musím sestavovat pomocí non-generic api, jak to mají popsané v dokumentaci (MojeVlastnost = row.MojeVlastnost). Což mě vrací k problému, že samozřejmě nejde vložit hodnotu z db do property s privátním setterem. Řešení, která jsem našel se mi moc nelíbí: buď to znásilnit pomocí reflexe, nebo mezi db a daný objekt vložit další třídu a slepit to v nějaké továrně (to by šlo, ale zase se musím starat o nějakou mezitřídu). Nebo to vyřešit tím, že se objekt bude umět sám uložit a načíst z db a potom je problém s přístupem vyřešen, ale byl bych raději, kdyby se o databázi starala nějaká třída k tomu určená.
Nerad bych udělal nějakou prasárnu a fakt si tady nevím rady, ale možná se jenom špatně ptám googlu...
Nesetkal se někdo s něčím podobným? Mohlo by mě navést i to, jak se to řeší v ado.netu?