.net core ForAllPropertyMaps如何在配置文件中工作?

.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

我正在尝试制作一个GRPCAPI,但偶然发现了一个奇怪的bug(或者我不知道它是如何工作的)

如果要将所有IEnumerables映射到RepeatedFields,请遵循以下答案:

(可以在上面的链接中看到函数
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);
}