Скопируйте метаданные из сущностей в ViewModels в Automapper 5
В своем приложении MVC я использую контейнер Autofac IoC вместе с Automapper. Это дает мне возможность реализовать собственные ViewModels.
Основной вопрос: как я могу скопировать метаданные из сущностей в ViewModels с помощью 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.
Когда я реализую второй подход, я получил недопустимое исключение операции:
Дополнительная информация: Mapper не инициализирован. Вызовите Initialize с соответствующей конфигурацией. Если вы пытаетесь использовать экземпляры mapper через контейнер или иным образом, убедитесь, что у вас нет вызовов статических методов Mapper.Map, и если вы используете методы расширения ProjectTo или UseAsDataSource, убедитесь, что вы передаете соответствующий IConfigurationProvider. пример.
Итак, как мне инициализировать AutoMapper.Mapper.Configuration?
Заранее спасибо за ваше время и помощь.
Или, может быть, есть другой, лучший способ сопоставить метаданные с моделями представления?