【发布时间】:2020-12-09 11:27:20
【问题描述】:
我是 Automapper 的新手,正在尝试将实体框架数据库对象映射到 DTO。
我的数据库对象OfficeLookup 包含Code 和Description(以及我不关心的其他属性)。
我的OfficeDto 包含Id 和Name 属性。
映射:
private MapperConfiguration OfficeMapperConfiguration =>
new MapperConfiguration(
cfg =>
{
cfg.CreateMap<OfficeLookup, OfficeDto>()
.ForMember(dest => dest.Id, act => act.MapFrom(src => src.Code))
.ForMember(dest => dest.Name, act => act.MapFrom(src => src.Description));
});
还有我的代码:
public IEnumerable<OfficeDto> GetOfficeDtos() => OfficeLookup.ProjectTo<OfficeDto>(OfficeMapperConfiguration); // returns an Ienumerable of empty OfficeDTOs
奇怪的是,我有另一个更复杂的映射,用于另一个工作正常的表。我不明白为什么这张地图没有。
我的映射生成的表达式是
ObjectQuery<OfficeLookup>.MergeAs(MergeOption.AppendOnly).Select(dtoOfficeLookup => new OfficeDto())
这看起来不对。另一个映射生成一个正确设置各种属性的表达式(Office 值除外。我假设一旦我可以得到这个独立映射,我就能修复嵌套映射)。
【问题讨论】:
-
@IvanStoev 你确实是对的,我的错,太早了,还没喝咖啡 :-) 很抱歉
标签: entity-framework automapper