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
Interagire con Azure DevOps tramite MCP Server
Gestire progetti .NET + React in .NET Aspire
Collegare applicazioni server e client con .NET Aspire
Montare Azure Blob Storage su Linux con BlobFuse2
Importare un servizio esterno in .NET Aspire
Importare repository da Bitbucket a GitHub Enterprise Cloud
Eliminare record doppi in Sql Server
Gestire codice JavaScript con code splitting e lazy loading
Utilizzare DeepSeek R1 con Azure AI
Eseguire query in contemporanea con EF
Gestire gli accessi con Token su Azure Container Registry
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Gli oggetti CallOut di Expression Blend 4.0
- Sfruttare una CDN con i bundle di ASP.NET
- Le DirectInk API nella Universal Windows Platform
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Inserire le news di Punto Informatico nel proprio sito


