ASP.NET Zero不映射付费版本

时间:2018-01-31 19:11:59

标签: objectmapper aspnetboilerplate

我最近开始使用ASP.NET Zero系统,并注意到当我尝试将版本更改为付费版本时,当我再次编辑版本时,它不显示它。在我的数据库中,我输入了其他值,因此版本正确保存。编辑版本时,单选按钮仍然会显示“Free”。

我注意到 EditionAppService.cs 文件使用ObjectMapperSubscribableEditions映射到EditionEditDto。当SubscribableEdition输入映射器时,它具有MonthlyAnnual价格的值。当它以EditionEditDto的形式退出映射器时,两个值均为null。不知何故,ObjectMapper并没有超越这些价值。

我在下面附上了两张照片。第一个显示SubscribableEditionAnnualPrice的{​​{1}}。

SubscribableEdition

当我在第二张图片中执行下一步以查看MonthlyPrice的结果时,您会看到它不再具有ObjectMapper中任何一个字段的值。

EditionEditDto

这导致版本在编辑时看起来是免费的。我认为这可能是一个可空的EditionEditDto这个问题。但是一旦我删除它并将其转换为正常小数,它就会用零填充价格而不是Decimal值。当我下载并完成PhoneBook教程时,我注意到该项目也存在null未保存的相同问题。

我试图弄清楚为什么映射器没有正确地将值映射到Edition

1 个答案:

答案 0 :(得分:2)

由于 CustomDtoMapper.cs 中缺少将在v5.1中添加的地图:

- configuration.CreateMap<EditionEditDto, SubscribableEdition>();
+ configuration.CreateMap<EditionEditDto, SubscribableEdition>().ReverseMap();