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
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Fornire parametri ad un Web component HTML
Introduzione alle Container Queries
Supportare la sessione affinity di Azure App Service con Application Gateway
Evitare memory leaks nelle closure JavaScript
Simulare Azure Cosmos DB in locale con Docker
Combinare Container Queries e Media Queries
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Testare il failover sulle region in Azure Storage
Change tracking e composition in Entity Framework
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API
I più letti di oggi
- Eseguire query con LINQ to SQL
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Gestione file Javascript in Blazor con .NET 9
- Documentare i servizi REST con Swagger e OpenAPI con .NET 9
- #VS2017 Community è già disponibile al download da questa pagina https://aspit.co/bgb
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!