ASP.NET 零不映射付费版

ASP.NET Zero not mapping Paid Editions

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

我注意到 EditionAppService.cs 文件利用 ObjectMapperSubscribableEditions 映射到 EditionEditDto。当 SubscribableEdition 进入映射器时,它具有 MonthlyAnnual 价格的值。当它作为 EditionEditDto 退出映射器时,两个值都是 null。不知何故,ObjectMapper 并没有拉过这些值。

我在下面附上了两张图片。第一个显示具有 AnnualPriceMonthlyPrice.

SubscribableEdition

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

这导致版本在编辑时显示为免费。我认为问题可能在于它可以为 null Decimal。但是一旦我删除它并将其转换为正常的小数,它就会用零而不是 null 值填充价格。当我下载并完成电话簿教程时,我注意到该项目也有同样的问题 Edition not saving.

我想弄清楚为什么映射器没有正确地将值映射到 EditionEditDto

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

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