0

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; 
    }
}

ありがとうございました

4

1 に答える 1

0

Tだけではなく、列挙可能なTをマップしようとしています。これを試してください

[ODataRoute]
[EnableQuery]
public IHttpActionResult Get()
{
    var returnResult = db.ContractTypes.ToArray();
    var result = Array.ConvertAll(returnResult, Mapper.Map<ContractTypeDto>);       

    return result;     
}
于 2016-11-17T12:05:27.630 に答える