AutoMapper 在其他图层中找不到映射配置文件
AutoMapper can't find mappingprofile in other layer
我有一个 ASP.Net 核心 6 mvc 项目,分为 3 层(UI、逻辑、数据)。所有 3 层都有不同的 model-classes。所以我在 UI 和 Logic 中创建了一个名为 Mappings
的文件夹,两者都有一个映射配置文件 class.
将 builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
添加到我的 Program.cs
后,我的应用程序抱怨 Missing type map configuration or unsupported mapping.
public class MappingProfile : Profile
{
// UI-Layer
public MappingProfile()
{
CreateMap<TraderViewModel, TraderDTO>().ReverseMap();
CreateMap<TaskViewModel, TaskDTO>().ReverseMap();
CreateMap<TaskRewardViewModel, TaskRewardDTO>().ReverseMap();
CreateMap<OwnedItemViewModel, OwnedItemDTO>().ReverseMap();
CreateMap<ItemViewModel, ItemDTO>().ReverseMap();
}
}
public class MappingProfileBusiness : Profile
{
// Business-Layer
public MappingProfileBusiness()
{
CreateMap<Trader, TraderDTO>().ReverseMap();
CreateMap<Task, TaskDTO>().ReverseMap();
CreateMap<TaskReward, TaskRewardDTO>().ReverseMap();
CreateMap<OwnedItem, OwnedItemDTO>().ReverseMap();
CreateMap<Item, ItemDTO>().ReverseMap();
}
}
public List<TraderDTO> GetAllTraders()
{
List<TraderDTO> traderDtos = new List<TraderDTO>();
List<Trader> traders = _DAL.GetAllTraders();
foreach (Trader trader in traders)
{
// IMapper mapper;
// Error being thrown here
traderDtos.Add(mapper.Map<TraderDTO>(trader));
}
return traderDtos;
}
我需要改变的只是我的 Program.cs
builder.Services.AddAutoMapper(typeof(MappingProfile), typeof(MappingProfileBusiness));
我在 AddAutoMapper()
中添加了映射配置文件。
我有一个 ASP.Net 核心 6 mvc 项目,分为 3 层(UI、逻辑、数据)。所有 3 层都有不同的 model-classes。所以我在 UI 和 Logic 中创建了一个名为 Mappings
的文件夹,两者都有一个映射配置文件 class.
将 builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
添加到我的 Program.cs
后,我的应用程序抱怨 Missing type map configuration or unsupported mapping.
public class MappingProfile : Profile
{
// UI-Layer
public MappingProfile()
{
CreateMap<TraderViewModel, TraderDTO>().ReverseMap();
CreateMap<TaskViewModel, TaskDTO>().ReverseMap();
CreateMap<TaskRewardViewModel, TaskRewardDTO>().ReverseMap();
CreateMap<OwnedItemViewModel, OwnedItemDTO>().ReverseMap();
CreateMap<ItemViewModel, ItemDTO>().ReverseMap();
}
}
public class MappingProfileBusiness : Profile
{
// Business-Layer
public MappingProfileBusiness()
{
CreateMap<Trader, TraderDTO>().ReverseMap();
CreateMap<Task, TaskDTO>().ReverseMap();
CreateMap<TaskReward, TaskRewardDTO>().ReverseMap();
CreateMap<OwnedItem, OwnedItemDTO>().ReverseMap();
CreateMap<Item, ItemDTO>().ReverseMap();
}
}
public List<TraderDTO> GetAllTraders()
{
List<TraderDTO> traderDtos = new List<TraderDTO>();
List<Trader> traders = _DAL.GetAllTraders();
foreach (Trader trader in traders)
{
// IMapper mapper;
// Error being thrown here
traderDtos.Add(mapper.Map<TraderDTO>(trader));
}
return traderDtos;
}
我需要改变的只是我的 Program.cs
builder.Services.AddAutoMapper(typeof(MappingProfile), typeof(MappingProfileBusiness));
我在 AddAutoMapper()
中添加了映射配置文件。