我最近开始使用ASP.NET Zero系统,并注意到当我尝试将版本更改为付费版本时,当我再次编辑版本时,它不显示它。在我的数据库中,我输入了其他值,因此版本正确保存。编辑版本时,单选按钮仍然会显示“Free”。
我注意到 EditionAppService.cs 文件使用ObjectMapper
从SubscribableEditions
映射到EditionEditDto
。当SubscribableEdition
输入映射器时,它具有Monthly
和Annual
价格的值。当它以EditionEditDto
的形式退出映射器时,两个值均为null
。不知何故,ObjectMapper
并没有超越这些价值。
我在下面附上了两张照片。第一个显示SubscribableEdition
和AnnualPrice
的{{1}}。
当我在第二张图片中执行下一步以查看MonthlyPrice
的结果时,您会看到它不再具有ObjectMapper
中任何一个字段的值。
这导致版本在编辑时看起来是免费的。我认为这可能是一个可空的EditionEditDto
这个问题。但是一旦我删除它并将其转换为正常小数,它就会用零填充价格而不是Decimal
值。当我下载并完成PhoneBook教程时,我注意到该项目也存在null
未保存的相同问题。
我试图弄清楚为什么映射器没有正确地将值映射到Edition
。
答案 0 :(得分:2)
由于 CustomDtoMapper.cs 中缺少将在v5.1中添加的地图:
- configuration.CreateMap<EditionEditDto, SubscribableEdition>();
+ configuration.CreateMap<EditionEditDto, SubscribableEdition>().ReverseMap();