Forma adecuada de llamar a Expand () anidado desde .NET OData 4 Client
En un servicio OData 4 en API web, ¿cuál es la forma correcta de llamar a $ expand anidado desde un cliente .NET? Estamos usando elOData Client Generator. De vuelta en los Servicios de datos WCF anteriores con el servicio OData 3, podríamos llamar.Expand("Customers/Orders")
. En Web API con OData 4 ya no podemos hacerlo y recibir lo siguiente si intenta.Expand("Customers/Orders")
:
La consulta especificada en el URI no es válida. Encontró una ruta que atraviesa múltiples propiedades de navegación. Reformule la consulta de modo que cada ruta de expansión contenga solo tipo> segmentos y propiedades de navegación.
Solución alternativaPodemos solucionar esto llamando a expandir así:.Expand("Customers($expand=Orders)")
. En escenarios $ expand no anidados, me gusta el soporte lambda así.Expand(d => d.Customers)
. ¿Hay una manera adecuada en .NET OData 4 de llamar a expansiones anidadas sin la desafortunada cadena mágica de.Expand("Customers($expand=Orders)")
? Si no, ¿hay un patrón de cadena más limpio como "Clientes / Pedidos" que funcione? Gracias.