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
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Fissare una versione dell'agent nelle pipeline di Azure DevOps
Gestire pubblicazione Kubernetes tramite .NET Aspire
Ridurre il reflow ottimizzando il CSS
Supportare la crittografia di ASP.NET Core con Azure Container App
Ridimensionamento automatico input tramite CSS
Proteggere l'endpoint dell'agente A2A delle Logic App
Abilitare il rolling update su Azure Functions flex consumption
Integrare OpenAI tramite Aspire
Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
Introduzione a GitHub Copilot CLI
Esporre un server MCP con Azure API Management
I più letti di oggi
- Sfruttare una CDN con i bundle di ASP.NET
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Effetto turnstile su tutte le pagine con il Windows Phone Toolkit
- Inserire le news di Punto Informatico nel proprio sito
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Le DirectInk API nella Universal Windows Platform
- Esaminare documenti XML con namespace utilizzando LINQ to XML


