Una funzionalità molto interessante introdotta con ASP.NET Web API 2 OData è il supporto “Batching”, ovvero la possibilità di “impacchettare” in una singola richiesta HTTP piu’ richieste Web API (action) e ricevere in un’unica risposta HTTP i risultati ottenuti dalle singole invocazioni delle Web API. Questa funzionalità è molto interessante in quanto ci permette di minimizzare il numero di richieste\risposte tra client e server, riducendo il traffico di rete (pensiamo al Cloud…). Per abilitare Server Side questa funzionalità è necessario esporre tramite registrazione, un HTTP batch endpoint utilizzando il metodo MapHttpBatchRoute esposto dall’instanza Routes della classe HttpRouteCollection:config.Routes.MapHttpBatchRoute(
...
Immaginiamo di avere un database SQL Server esistente, e vogliamo utilizzare Entity Framework Code First per mappare il modello dati. Supponendo di avere due tabelle “Items” e “Categories” in relazione come da Database Diagram seguente: Ed una “Vista” SQL Server definita come segue: CREATE VIEW [dbo].[VCategories]
AS
SELECT Id, Name
FROM Categories
WHERE (Deleted = 0)
Aggiungiamo due classi C# definite in questo modo:
public class Category
{
public int Id { get; set; }
public string Description { get; set; }
}
public class...