Provide a way to not generate navigation paths with key

Abierto
#723 1 comentario 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
42/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Estancado
Stack tecnológico
csharp

Línea de trabajo

Rastrea la conversión de ODataConventionModelBuilder a través de la generación de OpenApiDocument y las convenciones de enrutamiento. Identifica dónde se agregan las rutas de navegación con clave y, a continuación, determina cómo la configuración podría suprimirlas y verifica que los documentos generados omitan esas rutas no compatibles sin eliminar las rutas de navegación válidas.

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

Descripción

status:needs-more-information

I am new to implementing my first OData service. I am using OData for .NET 8+ with the ODataConventionModelBuilder to generate my model.

When a navigation property references an entity that is indexable, a path is generated of the form
Entity({ID})/NavEntity({ID1}) or Entity/{ID}/NavEntity/{ID1}.

The routing conventions don't include this path. They only support navigation to the NavEntity level. It would be helpful if there were a way to configure the conversion not to generate navigation paths with the key, even though the entity has one. As a practical matter, I'm not sure when I would need to query the navigation property by key, especially if the navigation property is available as a root entity.

As a workaround, I have added code to remove the unsupported paths from the OpenApiDocument before serializing it. As the OData service evolves, this code has to also evolve. If the conversion didn't generate the path with multiple keys, this workaround code would be unnecessary.

Lenguaje dominante
C#
Estrellas
240
Forks
70
Merge medio
7 h 59 min
PR fusionados (30 d)
13

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de microsoft/OpenAPI.NET.OData

Todos los issues de microsoft/OpenAPI.NET.OData

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.