.net core ForAllPropertyMaps如何在配置文件中工作?
我正在尝试制作一个GRPCAPI,但偶然发现了一个奇怪的bug(或者我不知道它是如何工作的) 如果要将所有IEnumerables映射到RepeatedFields,请遵循以下答案: (可以在上面的链接中看到函数.net core ForAllPropertyMaps如何在配置文件中工作?,.net-core,protocol-buffers,automapper,grpc,.net-core-3.1,.net Core,Protocol Buffers,Automapper,Grpc,.net Core 3.1,我正在尝试制作一个GRPCAPI,但偶然发现了一个奇怪的bug(或者我不知道它是如何工作的) 如果要将所有IEnumerables映射到RepeatedFields,请遵循以下答案: (可以在上面的链接中看到函数IsToRepeatedField(PropertyMap pm)) 当尝试将ForAllPropertyMaps移动到配置文件中时,我们的测试失败 public class ToRepeatedFieldProfile : Profile { public ToRepeate
IsToRepeatedField(PropertyMap pm)
)
当尝试将ForAllPropertyMaps移动到配置文件中时,我们的测试失败
public class ToRepeatedFieldProfile : Profile
{
public ToRepeatedFieldProfile()
{
ForAllPropertyMaps(IsToRepeatedField, (propertyMap, opts) => opts.UseDestinationValue());
}
}
public ProfileTests()
{
_mapperConfiguration =
new MapperConfiguration(cfg =>
{
cfg.AddProfile<ToRepeatedFieldProfile>();
});
_mapper = _mapperConfiguration.CreateMapper();
}
这是我们正在尝试执行的测试:
public void AutoMapper_Map_Success_Response()
{
var updatedIds = new List<Guid>
{
new Guid("53c909f8-9803-406a-921f-965ef2cf6301"),
};
var response = new Result { UpdatedIds = updatedIds }
var reply = _mapper.Map<Reply>(response);
Assert.Equal(1, reply.UpdatedIds.Count);
}
public void AutoMapper\u Map\u Success\u Response()
{
var updatedds=新列表
{
新Guid(“53c909f8-9803-406a-921f-965ef2cf6301”),
};
var response=新结果{UpdatedIds=UpdatedIds}
var reply=\u mapper.Map(响应);
Assert.Equal(1,reply.updatedds.Count);
}
你知道我哪里想错了吗
另外,对于混乱的代码,我很抱歉,我试图删除所有不重要的内容。问题是我运行的是9.0。9.1的夜间版本解决了这个问题。问题是我在9.0上运行。9.1的夜间版本解决了这个问题。类似的测试也适用于我。你用9.0吗?试试这个版本。@LucianBargaoanu我用的是9.0版本。尝试了最新的夜间构建,效果不错!非常感谢您的帮助!:)类似的测试对我也适用。你用9.0吗?试试这个版本。@LucianBargaoanu我用的是9.0版本。尝试了最新的夜间构建,效果不错!非常感谢您的帮助!:)
public void AutoMapper_Map_Success_Response()
{
var updatedIds = new List<Guid>
{
new Guid("53c909f8-9803-406a-921f-965ef2cf6301"),
};
var response = new Result { UpdatedIds = updatedIds }
var reply = _mapper.Map<Reply>(response);
Assert.Equal(1, reply.UpdatedIds.Count);
}