AutoMapper - 缺少类型映射配置 System.Object

AutoMapper - Missing type map configuration System.Object

我在 Startup.cs 中的 EF Core 中设置了 AutoMapper,如下所示:

    services.AddAutoMapper(
        typeof(EventItemEstablishmentProfile), 
        typeof(EventItemProfile),
        typeof(GroceryItemEstablishmentProfile), 
        typeof(GroceryItemProfile),
        typeof(GroceryStoreItemEstablishmentProfile), 
        typeof(GroceryStoreItemProfile),
        typeof(RestaurantItemEstablishmentProfile), 
        typeof(RestaurantItemProfile),
        typeof(MenuItemEstablishmentProfile), 
        typeof(MenuItemProfile));

我有这些 AutoMapper 配置文件:

namespace Vepo.Domain
{
    public class GroceryItemProfile : Profile
    {
        public GroceryItemProfile()
        {
            CreateMap<GroceryItem, GroceryItemDto>();
            CreateMap<GroceryItemDto, GroceryItem>();
        }
    }
}

namespace Vepo.Domain
{
    public class GroceryItemEstablishmentProfile : Profile
    {
        public GroceryItemEstablishmentProfile()
        {
            CreateMap<GroceryItemEstablishment, GroceryItemEstablishmentDto>();
            CreateMap<GroceryItemEstablishmentDto, GroceryItemEstablishment>();
        }
    }
}

GroceryItemEstablishment 包含一个名为 VeganItemGroceryItem 类型的字段,所以我们在这里讨论的是嵌套映射。

当需要像这样在代码中使用它时:

public async override Task<TVeganItemEstablishmentDto> Insert(TVeganItemEstablishmentDto entity)
{
    var toReturnVeganItem = entity.VeganItem;
    var toReturnEstablishment = entity.Establishment;
    var x = mapper.Map<TVeganItem>(entity);

我收到错误:

AutoMapper.AutoMapperMappingException: Missing type map configuration or unsupported mapping.

Mapping types: Object -> GroceryItem System.Object -> Vepo.Domain.GroceryItem

为什么错误说根本涉及类型 Object

调试代码我们可以看到类型不是Object:

您正在尝试将 TVeganItemEstablishmentDto 映射到 TVeganItem。我无法从代码本身看出,但我 猜测 这等同于将 GroceryItemEstablishmentDto 映射到 GroceryItem。您的配置文件中不存在该映射。您是要将 entity.VeganItem 属性 映射为输入吗?