私は、CreateMissingTypeMapsと手動マッピングを「同時に」(または少なくとも同じ設定で)使用する必要がある状況があります。EFプロキシクラスでCreateMissingTypeMapsオプションと手動マッピングを使用する方法
シナリオ:ドメインとビューモデルクラスは、プロファイルを使用して手動でマップされます。 CreateMissingTypeMapsプロパティは、匿名オブジェクトを返すレガシーシステムにアクセスするためのアンチクラッシュレイヤーがあるため、必要です。
問題は、手動マッピングでCreateMissingTypeMapsオプションがtrueに設定されていて、それが偽である場合に匿名オブジェクトをマップできない場合、そのマッピングがオーバーヒートされてしまうことです。
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;
[EDIT:]元の質問には、EFについては言及しなかったが、私はそのプロキシクラスが問題の一部であることを発見しました。
問題を再現するサンプルコードを提供してもらえますか? –
@IvanStoev EFプロキシクラスを使用したときに問題が発生したことを発見したときに、短いデモコードを書いていました。その間、私の質問はGithubに答えられました。今私は自分自身の質問に答えを書いています。私の質問に興味をお持ちいただきありがとうございます。 –