"IgnoreIf" doesn't work for records
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 57/100
Direção de pesquisa
Comece reproduzindo os snippets de mapper reportados no Mapster 10.0.11 e compare a expressão gerada com a da versão 7. Concentre-se no tratamento de IgnoreIf para records e verifique a correção com um teste de regressão que mostre que o mapping gerado respeita a verificação da chave e deixa BoxPost inalterado quando a chave está ausente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Hi. In version 10.0.11, "IgnoreIf" doesn't work as it did in version 7... My mapper is written like this:
.Map(ask => ask.BoxPost, crm => crm.GetValue<AddressEntity, string?>(nameof(AddressEntity.BoxPost)))
.IgnoreIf((d, ask) => !d.ContainsKey<AddressEntity>(nameof(AddressEntity.BoxPost)), nameof(AddressEntity.BoxPost))
previously, in version 7, the following mapper code was generated:
.If (
.Call ReForm.Ism.Core.Serialization.Extensions.JsonObjectExtension.ContainsKey(
$var1,
"BoxPost")
) {
.Block() {
$result.BoxPost = .Invoke (.Lambda #Lambda2<System.Func`3[System.String,System.Nullable`1[System.Decimal],System.Nullable`1[System.Decimal]]>)(
.Call ReForm.Ism.Core.Serialization.Extensions.JsonObjectExtension.GetValue(
$var1,
"BoxPost"),
$result.BoxPost)
}
} .Else {
.Default(System.Void)
};
and now I get this:
BoxPost = .Invoke (.Lambda #Lambda2<System.Func`2[System.String,System.Nullable`1[System.Decimal]]>)(.Call ReForm.Ism.Core.Serialization.Extensions.JsonObjectExtension.GetValue(
$var1,
"BoxPost")),
It turns out that the presence of "IgnoreIf" does not change anything.
- Linguagem predominante
- C#
- Estrelas
- 5.2k
- Forks
- 409
- Merge médio
- 3d 4h
- PRs com merge (30d)
- 3
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de MapsterMapper/Mapster
-
.NET MatrixAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
MapsterMapper/Mapster#1003 ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 58/100
MapsterMapper/Mapster#1024 · 1 comentário ·
-
[Mapster Tool] Add support for global:: to disambiguate type names in generated mappersTalvez já em andamento @DocSvartz assumiu há 2 dias. Abertaimprovement
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 65/100
MapsterMapper/Mapster#1020 · 3 comentários ·
-
Mapster.Tool - PropertySettingBuilder.Map(member, mapFunc, targetPropertyName) method is not working as expected!Talvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
MapsterMapper/Mapster#1017 · 6 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
MapsterMapper/Mapster#1005 ·
Todas as issues de MapsterMapper/Mapster
Issues semelhantes
-
[BUG]: Position intent set on a simple order is dropped when it becomes a bracket, OCO or OTO orderTalvez já em andamento @RaphaelFakhri assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
alpacahq/alpaca-trade-api-csharp#903 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 64/100
joinrpg/joinrpg-net#5752 ·
Mantenedores costumam responder em até 1 dia
-
bug ux
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
CodeForFire/lagebuch#714 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
dimitar-radenkov/Pointframe#294 ·
Mantenedores costumam responder em até 1 dia
-
kind/feature-request
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Altinn/altinn-correspondence#2154 ·
Mantenedores costumam responder em até 1 dia