私はDapper、Massive、PetaPocoなどの「マイクロ」アプローチが好きで、データベースに送信するSQLを制御するのが好きです。ほとんどの場合、比較的単純です。また、POCOを使用するのも好きですが、やや柔軟なスキーマ設計を扱う場合、問題が発生することがよくあります:)
Personエンティティがあり、常に次のプロパティがあるとします。
- Id
- 名前
- Eメール
- 電話
ただし、場合によっては、次のような追加のプロパティが存在する可能性があります。
- SpecialPhoneNumber
- VeryCustomValue
いつもそこにあるとわかっている共通の特性を持つPOCOが本当に欲しいです。ただし、キー/値コレクションで他のアクセス可能なものを用意してください。
最善のアプローチは何でしょうか?そして、言及された「mirco-orm」のいずれかがこれをサポートしていますか?私はそれらすべてを調べましたが、それらがそうであるという兆候は見つかりませんでしたが、何かが足りないのかもしれません。
SqlDataReaderを使用してこれを直接行うことは可能でしょうか?または、リフレクションを使用してオブジェクトを作成するときに、数百行を読み取るパフォーマンスが低下しますか?言及されたormはすべてかなりうまくいくようで、下にあるDataReaderを使用していると思います。
あなたが助けることができることを願っています:)
編集:私たちはおそらく、アプリケーションアーキテクチャを制御できないことを言及する必要があります。これは、個々の顧客がアプリケーションと基盤となるデータベースをカスタマイズできるようにするERPソリューションです。アプリケーションにフィールドを追加すると、データベースに列が追加されます。悪い私!そもそもそれを明確にしないため