我想在我的解决方案中有两个具有自己的自动映射共轭的项目。
我有一个ASP。Net MVC项目,下面是一个使用实体框架的类库。
类库使用EF获取实体,然后使用自动映射器将其转换为DTO,MVC应用程序使用自动映射器将DTO转换为MVC模型。
我只是不知道在MVC项目Global中设置自动映射器的正确方法。尽快。cs Application\u Start()我有AutoMapperConfiguration。Configure();这需要。
public static void Configure()
{
Mapper.Initialize(c =>
{
c.CreateMap<FooDTO, Foo>().ReverseMap();
});
}
这很简单,因为在应用程序启动时会调用它。
我能解决的问题是类库。
在类库中,我创建了第二个自动映射器设置
public static class AutoMapperConfiguration
{
public static void Configure()
{
Mapper.Initialize(c =>
{
c.CreateMap<Foo, FooDTO>().ReverseMap();
});
}
}
在类库中,我创建了一个FooService类,在构造函数中
public FooService()
{
AutoMapperConfiguration.Configure();
}
所以,这不仅难闻,因为我需要有AutoMapperConfiguration。Configure();在每个服务构造函数中。但当代码进入AutoMapperConfiguration时,它也会出现以下错误。Configure();
映射器已初始化。每个应用程序域/进程必须调用一次Initialize。
那么,设置自动映射器的最佳方法是什么?