私は、DTOをドメインオブジェクトの対応物に変換するときにリポジトリを使用することが悪い設計であるかどうかを知りたいと思っています。リポジトリを使用したオブジェクトマッパー
私は、ORMのためのリポジトリ層とサービス層とef4を持つn層ウェブアプリケーションを構築しています。サービス層は、ドメインオブジェクトのDTOバージョンを公開します。サービスのコンシューマからDTOを受け取ると、サービスはAutoMapperを使用してDTOをドメインオブジェクトに変換します。
public class LogonEventDto
{
public DateTime Time
{
get;
set;
}
public Guid UserId
{
get;
set;
}
}
ドメインバージョン:
DTOバージョン - 今、ドメインオブジェクトのメンバプロパティのいくつかは、例えば、私は、以下のクラスを持って、データベースからロードする必要があります 今
public class LogonEvent { public DateTime Time { get; set; } public User User { get; set; } }
、それはDOバージョンにDTOを変換することになると、私はUserRepositoryにGetById()メソッドを呼び出し、LogonEvent.Userプロパティウィットを設定する必要がありますh結果。
私は現在、サービスレイヤですべての変換ロジックを手動で行っています。
私が上記で尋ねたように、これは悪い設計の決定ですか、もしそうならばですか?