CreateMissingTypeMaps と手動マッピングを「同時に」(または少なくとも同じ構成で) 使用する必要がある状況があります。
シナリオ: ドメイン クラスとビュー モデル クラスは、プロファイルを使用して手動でマップされます。匿名オブジェクトを返すレガシー システムにアクセスするための腐敗防止レイヤーがあるため、CreateMissingTypeMaps プロパティが必要です。
問題は、手動マッピングが true に設定されている場合は CreateMissingTypeMaps オプションによってマッピングが上書きされ、false の場合は匿名オブジェクトをマップできないことです。
MapperConfiguration 内、プロファイル内、およびマッピング条件を持つプロファイル内にも CreateMissingTypeMaps を設定しようとしましたが、すべて失敗しました。
以下のコードは、匿名オブジェクトにのみ適用する必要がある条件付きプロファイルを実行しようとした私の試みです。
public class AnonymousProfile : Profile
{
public AnonymousProfile()
{
AddConditionalObjectMapper().Where((s, d) => s.GetType().IsAnonymousType());
CreateMissingTypeMaps = true;
}
}
// inside my MapperConfiguration
cfg.AddProfile(new AnonymousProfile()); // also tried cfg.CreateMissingTypeMaps = true;
[編集:]元の質問では EF について言及していませんでしたが、そのプロキシ クラスが問題の一部であることがわかりました。