これは、EFDBFirstモデルを使用した階層化設計に関するものです。
これまで、Entity Frameworkを使用したことはなく、エンティティのみを使用し、ドメイン/DTOサブフォルダーを使用して別のプロジェクトに配置しました。また、DataAccessLayer、Business Layer、MVCアプリケーションでも同じように参照され、通常のADO.Netクエリを使用してコードを記述し、エンティティのPOCOを準備しました。問題ない。
現在、Entity FrameworkDBFirstモデルを使用してアプリケーションを開発しています。DB Designが管理されていないため、このDBFirstモデルを選択しました。それはDBAによって行われます。
ここで古いシンプルなデザインを再利用しようと思いました。しかし、どこ/どのレイヤーをedmxファイルと生成されたPOCOクラスに正確に適合させるべきかわからない。DBFirstアプローチを使用する階層化アーキテクチャスタイルのサンプルは見つかりませんでした。
私はこれを参照しました。http://aspnetdesignpatterns.codeplex.comしかし、彼らはNHybernateを使用しています
これが古いデザインの概要です。
デザイン/サンプルに関する提案があれば、大歓迎です。
編集:
以下の回答から、エンティティフレームワークは既存のエンティティ/ドメインレイヤーの名前をドメインレイヤーに変更し、生成されたPOCOクラスをそこに配置できるPOCOを生成すると思います。また、TDDのEFをラップするIRepositoryクラスのリストを使用して、.edmxをDataAccessLayerに保持することもできます。これは意味がありますか?または何か貴重なポイント?
アップデート:
現在、DataAccessLayerを削除し、model.edmxファイルとEFによって生成されたクラス、およびIRepositoryを実装するすべてのリポジトリクラスを持つエンティティレイヤーのみを保持しています。これをビジネスレイヤー、MVCにも参照します。私は正しくやっていますか?私は悪いデザインをしているように感じます:(提案/助けてください