私が実行しているプロジェクトのタイムシート情報を処理する小さな MVC アプリケーションを作成しています。ホストされ、UI/サービス/データ レイヤーで設計しています。私が悩んでいることの 1 つは、すべてのレイヤーで Entity Framework モデルを使用できるかということです。まあ、できると思いますが、そうすべきですか?
すべてのレイヤーは同じマシンでホストされます (おそらく実際の DB を除く..)。ただし、すべてのレイヤーで EF モデルにアクセスするということは、UI を含むすべてのレイヤーが DB レイヤーへの参照を必要とすることを意味し、サービスをバイパスします。
これは安全な動きですか?
たぶん、EF からモデルだけを抽出し、それらだけを共有ライブラリの形式でレイヤー間で共有できますか?
または、弾丸をかじって、DTO とトランスレータを実装する必要がありますか? そう:
DATABASE->EF->TranslaterToDTO->BusinessLogic->ServiceLayer->UI(TranslaterTOViewModel)->View