私はビジネス/エンティティクラスのレイヤーの白紙の状態から始めていますが、既存のデータソースを使用しています。通常、これは簡単なことであり、Entity Frameworkを起動し、DBにポイントして、1日と呼びますが、当面は、サードパーティベンダーのデータソースから実際のデータを取得する必要があります...
- 一般的なODBCプロバイダー(SQLではない)からのみアクセスできます
- 構文、命名が非常に悪く、場合によっては、どこにでもデータが重複している
- 100をはるかに超えるテーブルがあり、これらを組み合わせると、データの1,000列/プロパティの近くになります。
このDBからの読み取り専用が必要なだけなので、更新/挿入/削除をサポートする必要はありません。アプリケーションの実行ごとに1回、「ダーティ」データをクリーンなエンティティに抽出する必要があります。
データベースを、すてきでクリーンな、名前の付いたエンティティクラスから可能な限り分離したいと思います。
次のような良い方法はありますか?
- DBテーブルから初期エンティティクラスを生成しますか?(そうすれば、クラスのプロパティの名前を変更して修正し、最初から始めるのではなく、サニタイズすることができます。)
- 1000個のプロパティセットを記述せずに、DBからのデータを私の素敵でクリーンなクラスにマップしますか?
編集:ここでの主な目標は、疑似ORMを考案することではなく、既存のコードに基づいて既存のコードを可能な限り生成し、必要に応じて微調整して、多くの手作業を排除することです。 -集中的なクラス作成タスク。