【发布时间】:2017-08-03 13:04:11
【问题描述】:
我正在使用 ASP.NET Core 和 Automapper 6.1.0,
我有两种看起来像这样的类型
public class ExampleDTO
{
public Guid Id { get; set; }
public ProviderDTO Provider { get; set; }
}
public class Example
{
public Guid Id { get; set; }
public Guid Provider { get; set; }
}
ProviderDTO 类(在这种情况下无关)
public class ProviderDTO
{
public Guid Id { get; set; }
public string Name { get; set; }
}
AutoMapper 配置如下所示:
CreateMap<Example, ExampleDTO>().ForMember(x => x.Provider, opt => opt.Ignore());
CreateMap<ExampleDTO, Example>().ForMember(dest => dest.Provider,
opt => opt.MapFrom(src => src.Provider.Id));
当我从 Example 映射到 ExampleDTO 时,我想传递 ProviderDTO 类型的值。
我试过这样的。
_mapper.Map<ExampleDTO>(example, opt => opt.AfterMap((src, dest) => dest.Provider = myProvider));
我明白了
'object' does not contain a defenition for 'Provider' and no extension method
这可以实现吗?如果是,我做错了什么?
【问题讨论】:
-
提供者是对象(ProviderDTO)还是GUID?显示提供者类...
-
@Ardit 这就是我要映射的内容,当 Destination 是 DTO 时映射对象,否则映射 GUID
-
@Ardit 我已经添加了
ProviderDTO类,它无关紧要
标签: c# .net automapper