【发布时间】:2016-11-17 11:57:52
【问题描述】:
我在我的 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;
}
}
谢谢
【问题讨论】:
-
您使用的是 EF 吗?因为如果是这样,那么类型不是
ContractType,而是ContractType0123456789etc,因为EF 代理了该类。如果是这样,请在合约类型上调用ToList()以获取实际类,或使用 Projection
标签: c# odata automapper-5