Azure / Azure/data-api-builder

[Bug]: GraphQL Aliased Field Queries Cause Duplicate Dictionary Key Error for Same Entity

Abierto
#3,229 0 comentarios 0 reacciones 0 asignados Ver en GitHub
cri graphql
Lenguaje dominante
C#
Estrellas
1.5k
Forks
370
Merge medio
3 d 22 h
PR fusionados (30 d)
9

Descripción

### Discussed in https://github.com/Azure/data-api-builder/discussions/2785

Originally posted by **ascii1010** July 24, 2025
```graphql
brochure: books(
filter: { type: { eq: "brochure" } }
) {
items {
id
description
}
}

magazine: books(
filter: { type: { eq: "magazine" } }
) {
items {
id
description
}
}
```

The above generates error:

```
An item with the same key has already been added. Key: books
```

## Theory

The issue is not GraphQL itself. It is the resolver implementation using the entity name as the dictionary key instead of the alias or a unique field identifier. Two selections of books are valid GraphQL, but the server code is deduplicating by entity name and therefore treating them as a duplicate dictionary key.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza reproduciendo la consulta GraphQL proporcionada con dos alias para la entidad books; después, sigue la implementación del resolver descrita en el issue y encuentra dónde se almacenan las selecciones usando el nombre de la entidad como clave de diccionario. Se considera terminado cuando ambas selecciones con alias devuelvan sus respectivos resultados filtrados por separado sin un error de clave duplicada, con cobertura de regresión para esta consulta.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
csharp, graphql
Área
api, backend
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.