我在Core.net 2.0中使用UOW和automapper完成了WebApi.一切都运行正常,但现在我想用Nunit实现单元测试,我有自动缓冲区的这个错误
消息:System.InvalidOperationException:Mapper未初始化.使用适当的配置调用Initialize.如果您正试图通过容器或以其它方式使用映射器实例,请确保您不必静态Mapper.Map方法的任何电话,如果你使用ProjectTo或UseAsDataSource扩展方法,确保你在适当的IConfigurationProvider通实例.
我该怎么解决这个问题.提前致谢 .Jolynice
AutoMapperProfile.cs类
public class AutoMapperProfile : Profile
{
public AutoMapperProfile()
{
CreateMap<Cars, CarsDTO>()
.ReverseMap();
}
}
Run Code Online (Sandbox Code Playgroud)
class Startup.cs
public class Startup
{
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public void ConfigureServices(IServiceCollection services)
{
//removed configurations
// Add cors
services.AddCors();
// Add framework services.
services.AddMvc();
Mapper.Initialize(cfg =>
{
cfg.AddProfile<AutoMapperProfile>();
});
// Repositories
services.AddScoped<IUnitOfWork, HttpUnitOfWork>();
services.AddScoped<IAccountManager, AccountManager>();
}
}
Run Code Online (Sandbox Code Playgroud)
class carsController.cs
[Authorize]
[Route("api/[controller]")]
public class CarsController : Controller
{
private …Run Code Online (Sandbox Code Playgroud) 将NetMap 2.1 Projet用于AutoMaper时出现错误
映射器未初始化。用适当的配置调用初始化。如果您尝试通过容器或其他方式使用mapper实例,请确保没有对静态Mapper.Map方法的任何调用,并且如果您使用的是ProjectTo或UseAsDataSource扩展方法,请确保传递适当的IConfigurationProvider实例。 Mapper.cs中的AutoMapper.Mapper.get_Configuration(),第23行
我已经配置了
public class AutoMapperConfig
{
public static MapperConfiguration RegisterMappings()
{
return new MapperConfiguration(cfg =>
{
cfg.AddProfile(new DomainToViewModelMappingProfile());
cfg.AddProfile(new ViewModelToDomainMappingProfile());
});
}
}
Run Code Online (Sandbox Code Playgroud)
文件DomainToViewModelMappingProfile.cs
public class DomainToViewModelMappingProfile : Profile{
public DomainToViewModelMappingProfile(){
CreateMap<Function, FunctionViewModel>();
CreateMap<AppUser, AppUserViewModel>();
CreateMap<AppRole, AppRoleViewModel>();
}
}
Run Code Online (Sandbox Code Playgroud)
文件启动
services.AddSingleton(Mapper.Configuration);
services.AddScoped<IMapper>(sp => new Mapper(sp.GetRequiredService<AutoMapper.IConfigurationProvider>(), sp.GetService));
Run Code Online (Sandbox Code Playgroud)
有人可以帮助我吗?谢谢!
在这种情况下,我无法关注wiki.我想使用Automapper 5.2.我找不到一个结尾示例的简单结尾,它显示了具有上下文的可靠配置.根据上下文,我的意思是你在哪里放置配置文件,以及静态和实例api之间的区别?
我查看了DNRTV下载,但它处理的是1.0版本.
你如何设置这个包?我有一个名为Client的模型,如下所示.
public class Client : IEntityBase
{
public Client()
{
Jobs = new List<Job>();
}
public int Id { get; set; }
public int ClientNo { get; set; }
public bool Company { get; set; }
public string CompanyName { get; set; }
public string ClientFirstName { get; set; }
public DateTime DeActivated { get; set; }
public bool Activity { get; set; }
public DateTime DateCreated { get; set; }
public DateTime DateUpdated { get; set; …Run Code Online (Sandbox Code Playgroud)