私の MVC アプリケーションでは、Autofac IoC コンテナーを Automapper と共に使用しています。カスタム ViewModel を実装する機会が得られます。
主な質問: Automapper 5.1.1 を使用してエンティティからビューモデルにメタデータをコピーするにはどうすればよいですか?
Bettysソリューションを実装しようとしましたが、このアプローチを使用して新しいプロバイダーを正しく登録できません。
コードも以下に示します。
ModelMetadataProviders.Current = new MetadataProvider(
AutoMapper.Mapper.Engine.ConfigurationProvider);
ModelValidatorProviders.Providers.Add(new ValidatorProvider(
AutoMapper.Mapper.Engine.ConfigurationProvider);
また
ModelMetadataProviders.Current = new MetadataProvider(
(AutoMapper.IConfigurationProvider)AutoMapper.Mapper.Configuration);
ModelValidatorProviders.Providers.Add(new ValidatorProvider(
(AutoMapper.IConfigurationProvider)AutoMapper.Mapper.Configuration));
Mapper.Engine のようなプロパティはありません。
2 番目のアプローチを実装すると、無効な操作の例外が発生しました。
追加情報: マッパーが初期化されていません。適切な構成で Initialize を呼び出します。コンテナーなどを介してマッパー インスタンスを使用しようとしている場合は、静的な Mapper.Map メソッドへの呼び出しがないことを確認し、ProjectTo または UseAsDataSource 拡張メソッドを使用している場合は、適切な IConfigurationProvider を渡すようにしてください。実例。
では、AutoMapper.Mapper.Configuration をどのように初期化すればよいでしょうか?
お時間とご協力いただきありがとうございます。
または、メタデータをビューモデルにマップするための別のより良い方法があるでしょうか?