1

私の 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 をどのように初期化すればよいでしょうか?

お時間とご協力いただきありがとうございます。

または、メタデータをビューモデルにマップするための別のより良い方法があるでしょうか?

4

0 に答える 0