Quando mappiamo una tabella del database verso una classe, in genere mappiamo le colonne verso le proprietà. Tuttavia esistono casi in cui le proprietà sono in sola lettura. In questi casi in genere si utilizza un attributo privato per mantenere il valore mappato sulla colonna.
Per mappare una colonna verso un attributo privato della classe dobbiamo utilizzare le API di mapping come nel seguente caso.
class MyContext : DbContext
{
public DbSet<Person> People { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Person>()
.Property(b => b.Name)
.HasField("_name");
}
}
class Person {
private string _name;
public string Name { get { return _name; } }
}In questo caso, la classe Person ha una proprietà Name in sola lettura e un campo privato _name che ne contiene il valore. Nel codice di mapping specifichiamo che mappiamo la colonna del database con la proprietà Name, ma in realtà per memorizzare il dato sfruttiamo l'attributo privato tramite il metodo HasField.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
From Data to Insight: Exploratory Data Analysis with Python, VS Code and SQL MCP Server
Canary release con .NET Aspire
Validare i dati di una colonna JSON in SQL Server
Diagnosticare e monitorare Azure con Azure MCP Server
Raggruppare risorse in .NET Aspire
Cache temporanea in Javascript con oggetti
Abilitare .NET 10 su Azure App Service e Azure Functions
How to be a DevOps engineer in the AI era
Modificare lo stile in una QuickGrid Blazor
Agentic Workflows in GitHub
Gestire il ciclo di vita di AbortController in Javascript
Structured Output con Microsoft.Extensions.AI: ottenere oggetti C# da un LLM
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Le DirectInk API nella Universal Windows Platform
- Utilizzare un DataContext specifico per la modalità design time di Blend e Visual Studio nei controlli Silverlight
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable


