http://services.odata.org/V4/Northwind/Northwind.svc/
Sto cercando di ottenere tutte Customers
, la loro Orders
e corrispondenti Order_Details
contemporaneamente e utilizzando nidificato $expand
per questo. Per interrogare i dati che sto utilizzando seguente link: http://services.odata.org/V4/Northwind/Northwind.svc/Customers?$expand=Orders($expand=Order_Details)
Ora sto cercando di limitare i dati utilizzando $select
. Il problema è che non riesco a trovare la sintassi corretta per utilizzare $select
per il middle table - Orders
. Posso applicare solo per il piano del tavolo - Customers
ea quello inferiore - Order_Details
come questo:
E 'possibile utilizzare $ selezionare anche per le tabelle in mezzo, nel mio caso per Orders
?
Hai realmente bisogno per ottenere questi dati come oggetti nidificati? Dall'esperienza ho scoperto che nella maggior parte dei casi, ** abbiamo bisogno di una vista aggregata di un albero degli oggetti **. Ho sviluppato il metodo di estensione LINQ 'QueryByCube' per costruire questo tipo di servizio interrogabile usando il protocollo OData. Maggiori informazioni qui: [AdaptiveLINQ] (http://www.adaptivelinq.com). – nlips
@nlips Non riesco a utilizzare LINQ, siamo ancora limitati a .NET 2.0. Potresti per favore darmi un esempio di vista aggregata? Fondamentalmente sto cercando di ottenere tutti quei dati con il minor numero possibile di richieste web – VladL
Ho pensato che l'uso di Northwind.svc sia per esempio. Immagino che svilupperai i tuoi servizi OData e userai LINQ lato server. L'idea di una vista aggregata è quella di presentare un insieme di entità in cui ogni campo è costruito da un'espressione nel modello di entità nativa. ** Alcuni campi sono espressi come aggregazione di più articoli **. Ad esempio, possiamo ottenere le vendite totali per cliente per data_ semplicemente facendo la richiesta: 'MyService.svc? $ Select = CustomerID, OrderDate, TotalSales'. – nlips