2

Entity Framework を使用するプロジェクトに取り組み始めたところです。以前は、アプリは EF エンティティを渡し、それらは完全に設定されていたため、コードの各セクションはプロパティを使用してプロパティ内のプロパティにアクセスできました...

ドメイン エンティティを作成したばかりで、EF エンティティをこれらのドメイン エンティティにマップしたいと考えています。基本的には 1 対 1 のマッピングです。これはどのように行われるべきですか?EF エンティティを POCO にマップする T4 テンプレートがありますが、1 レベルの深さしかマップしません。Person -> Car -> Engine にアクセスしたい場合はどうすればよいですか? EF 構造から POCO 構造に移動し、階層全体でマッピングを機能させるにはどうすればよいですか?

4

2 に答える 2

1

AutoMapper や ValueInjector などを使用する必要があります。クラスが特定の規則に従っている場合、それは非常にうまく機能します。そうでない場合は、カスタム マッピング クラスを定義して、それを行うことができます。

于 2012-05-15T15:20:26.543 に答える
1

私の意見では、ドメイン エンティティの別のセットを作成する必要はありません。POCO エンティティは、すべてのレイヤーで使用できるように設計されています (IMHO)。

ただし、エンティティの別のセットを POCO エンティティにマップする場合は、Automapperを使用してください。オブジェクトとそのプロパティをマップする機能があります。

一方、POCO を使用すると、Person -> Car -> Engine チェーンにアクセスできます。「インクルード」を適切に行うだけで、問題はありません。

于 2012-05-15T15:21:04.650 に答える