在Automapper 5.0.2中缺少类型映射配置或不支持映射
本文关键字:映射 类型 配置 不支持 Automapper | 更新日期: 2023-09-27 18:18:28
我在我的OData API中使用AutoMapper。我找到了许多相同题目的问题,也尝试了所有的解决方案,但我的问题没有得到解决。我使用的是最新的AutoMapper 5.0.2版本。请告诉我哪里做错了。
下面是我的代码:Startup.cs
public static partial class Startup
{
public static void ConfigureApp(IAppBuilder appBuilder)
{
ConfigureAuth(appBuilder);
AutoMapperWebConfiguration.Configure();
Mapper.AssertConfigurationIsValid();
// Config OData
ConfigureOData(config);
}
}
AutoMapperWebConfiguration.cs
public static class AutoMapperWebConfiguration
{
public static void Configure()
{
Mapper.Initialize(
config =>
{
config.CreateMap<ContractType, ContractTypeDto>().ReverseMap();
});
}
}
ContractTypeController.cs
public class ODataContractTypeController : ODataController
{
[ODataRoute]
[EnableQuery]
public IHttpActionResult Get()
{
var returnResult = db.ContractTypes;
var result = Mapper.Map<ContractTypeDto>(returnResult);
return result;
}
}
谢谢
您正在尝试映射T的enumerable,而不仅仅是T。试试
[ODataRoute]
[EnableQuery]
public IHttpActionResult Get()
{
var returnResult = db.ContractTypes.ToArray();
var result = Array.ConvertAll(returnResult, Mapper.Map<ContractTypeDto>);
return result;
}