Entity Framework Code First ha delle convenzioni che in base al nome della proprietà decidono se questa è una chiave primaria o una foreign key verso un'entità collegata. Ad esempio, se chiamiamo una proprietà Id, questa è automaticamente impostata come chiave primaria dell'entità. A partire dalla versione 6 di Entity Framework possiamo creare nostre convenzioni custom.
Un esempio di quando una convenzione possa tornare utile è quando programmiamo in italiano. Se ad esempio stabiliamo che la proprietà chiave di un'entità si deve chiamare Chiave possiamo specificare questa convenzione con il seguente codice.
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
var prop = modelBuilder.Properties().Where(p => p.Name.Equals("Chiave",
StringComparison.OrdinalIgnoreCase));
prop.Configure(p => p.IsKey());
}Il metodo Properties ritorna i metadati di tutte le proprietà e noi filtriamo col metodo Where di LINQ le proprietà che si chiamano Chiave. Successivamente le impostiamo come chiave con il metodo Configure e IsKey.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Definire il colore di una scrollbar HTML tramite CSS
Usare la libreria PredicateBuilder per eseguire query tramite Entity Framework che usano or su più campi
Conoscere il rendering Server o WebAssembly a runtime in Blazor
Introduzione alle Container Queries
Controllare la telemetria con .NET Aspire
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Importare un servizio esterno in .NET Aspire
Combinare Container Queries e Media Queries
Creare un agente A2Acon Azure Logic Apps
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Analizzare il contenuto di una issue con GitHub Models e AI
I più letti di oggi
- Effettuare il multi-checkout in linea nelle pipeline di Azure DevOps
- Gli oggetti CallOut di Expression Blend 4.0
- Alleggerire le applicazioni WPF sfruttando gli oggetti Freezable
- Esaminare documenti XML con namespace utilizzando LINQ to XML
- Sfruttare una CDN con i bundle di ASP.NET
- Le DirectInk API nella Universal Windows Platform
- Inserire le news di Punto Informatico nel proprio sito


