Note that there are some explanatory texts on larger screens.

plurals
  1. POORM for use with databases that have semi-flexible schema design
    primarykey
    data
    text
    <p>I like the "micro" approach of Dapper, Massive, PetaPoco etc. and I like to have control over the SQL we send to the database, most of the time it's relatively simple. I also like working with POCO's however when dealing with a somewhat flexible schema design you often run into trouble :)</p> <p>Let's say we have a Person entity, that ALWAYS have the following properties.</p> <ul> <li>Id </li> <li>Name </li> <li>Email </li> <li>Phone</li> </ul> <p>But in some cases there might be additional properties like</p> <ul> <li>SpecialPhoneNumber</li> <li>VeryCustomValue</li> </ul> <p>I would really like a POCO with the common properties that we know will always be there. But have the other accessible in a key/value collection.</p> <p>What would be the best approach? And does any of the mentioned "mirco-orm's" support this? I have looked at them all but have not found any indication that they do, but maybe I'm missing something.</p> <p>Would it be possible to do this directly with an SqlDataReader? or would the performance of reading hundreds of rows be bad when using reflection to create the objects? The mentioned orm's all seem to do pretty well and I guess the use a DataReader underneath.</p> <p>Hope you can help :)</p> <p>EDIT: I should probably mention that we have no control over the application architecture. This is an ERP solution that allows the individual customer to customize their application and the underlying database. Adding fields in the application adds columns in the database. Bad me! for not making that clear in the first place</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload