私のプロジェクトでは、EF Code First アプローチを使用しています。リポジトリ レイヤー、サービス レイヤー、プレゼンテーション レイヤー (ASP.NET MVC) があります。ビューごとに専用のビューモデルを使用しています。
私が混乱しているのは、サービスがビューモデルにマッピングするためにエンティティをコントローラーに返す必要があるか、または DTO を実装してサービスから返す必要があるかということです。
そこで問題は、「EF -> リポジトリ -> サービス -> UI」という流れの場合、データ変換はどうなるかということです。「エンティティ -> DTO -> ビューモデル」または「エンティティ -> ビューモデル」?
DTOを使用すると、エンティティが繰り返されるようです。
私はベストプラクティスに従おうとしています。