我在c#中使用Automapper
目前我正在尝试使用下面的代码映射。
CreateMap<Student, StudentDto>()
.ForMember(dest => dest.FeeType, opt =>
{
opt.PreCondition(src => (src.Key == "Paid"));
opt.MapFrom(src => src.Value);
});
我想映射只有当键==支付,否则它不应该映射。然而,在本例中,它只是传递null。
那么让我们说,如果集合有100条记录,只有1条符合条件,其他99条记录作为NULL传递。
编辑-我正在使用Azure功能应用程序和我的Automapper版本是10.0.0
请建议。
我认为你必须更新你的ConfigureServices
like=>
public void ConfigureServices(IServiceCollection services) {
// Auto Mapper Configurations
var mappingConfig = new MapperConfiguration(mc => {
mc.AddProfile(new MappingProfile());
});
IMapper mapper = mappingConfig.CreateMapper();
services.AddSingleton(mapper);
//This line should be updated
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddJsonOptions(options => options.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore);
}
Newtonsoft.Json.NullValueHandling.Ignore
的.AddJsonOptions(options => options.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore);
,它将处理你所要求的。
注意:请查看文档链接。我相信它会起作用的。
联系