Utilizzando WCF RIA Services, in alcuni casi, possiamo avere la necessità di utilizzare delle stored procedure per il recupero dei dati che, non sempre, possono restituire una collezione di entità già mappate.
In questi casi la stored procedure, sotto forma di metodo, restituisce una collezione di oggetti ComplexType. Durante lo sviluppo potrebbe rendersi necessario trattare sia l'entità che il ComplexType nel medesimo modo, non curandosi effettivamente su cosa stiamo lavorando. Tutto questo è realizzabile semplicemente facendo implementare sia al ComplexType che all'entità una interfaccia che chiameremo IAccessor.
public interface IAccessor { string Name{get;} string Description{get;} }
Dobbiamo solo prestare attenzione a collocare questa interfaccia in un file con il suffisso shared, in modo che la stessa possa essere "proiettata" sul client senza nessuna modifica.
Proseguiamo implementando l'interfaccia sia nell'entità che sul ComplexType, sfruttando la dichiarazione partial dell'entità generate da WCF RIA Services; l'implementazione va fatta in un nuovo file che deve sempre avere il suffisso shared.
public partial class Entity: IAccessor { public string Name { get { return this.Name; } } public string Description { get { return thisDescription} } } public partial class ComplexType: IAccessor { public string Name { get { return this.ComplexName; } } public string Description { get { return this.ComplexDescription;} } }
A questo punto potremo usare indistintamente l'interfaccia IAccessor per accedere all'entità o al ComplexType, sia lato client che server.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Sviluppare un'interfaccia utente in React con Tailwind CSS e Preline UI
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Criptare la comunicazione con mTLS in Azure Container Apps
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Creare form tipizzati con Angular
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Trasformare qualsiasi backend in un servizio GraphQL con Azure API Management
Utilizzare gli snapshot con Azure File shares
Usare il versioning con i controller di ASP.NET Core Web API
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
I più letti di oggi
- Utilizzare WebAssembly con .NET, ovunque
- Definire stili a livello di libreria in Angular
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- Utilizzare il trigger SQL con le Azure Function
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)