0

私はエンティティ フレームワークと MVC を初めて使用し、新しいアプリケーションの優れた設計アプローチを構成するものを理解しようとしています。

Entity Framework を使用する方法はいくつかあります。ただし、私のプロジェクトでは、最適なオプションは DB First です。私は EDMX ファイルをいじってみましたが、DbContext コード ジェネレーターを使用してラッパー クラスを作成するところまで来ました。

リポジトリと作業単位のパターンを使用し、DI には ninject を使用する予定です。

ただし、SoC の観点からは、リポジトリがデータ ストア (EF) の実装をコードから隠している一方で、モデル クラス自体が非常に EF 風であることは「適切」ではないようです。

EF に EDMX ベースのアプローチを使用すると、懸念事項の分離が曖昧になるようです。POCO サポートのみが真の分離を可能にしているように見えますが、POCO には私が気に入らない他の制限があります。

何か不足していますか、または EDMX を使用するとこの欠点がありますか?

人々は自動マッパーを使用して、エンティティ モデルと別のクリーンな SoCced モデルとの間で変換を行っていますか?

ありがとう

4

1 に答える 1

0

関心の分離の質問については強い意見はありませんが、標準のADO.NetバージョンのEFとPOCOの両方を使用しており、POCOのT4コード生成スクリプトの出力をカスタマイズすることはまったく難しくありません。作成されたオブジェクトの構造に関する懸念に対処するため。それはおそらくあなたがやろうとしていることの良い出発点になるでしょう。

T4テンプレートを探していることがわかったら、かなりの数のチュートリアルと、何をする必要があるかを理解するのに役立つSOの質問がたくさんあります。

于 2012-07-13T16:14:33.347 に答える