Azure / Azure/data-api-builder
[Bug]: GraphQL Aliased Field Queries Cause Duplicate Dictionary Key Error for Same Entity
- 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
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