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
Utilizzare Copilot con Azure Cosmos DB
Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Generare la software bill of material (SBOM) in GitHub
Filtering sulle colonne in una QuickGrid di Blazor
Gestione dei nomi con le regole @layer in CSS
Migliorare l'organizzazione delle risorse con Azure Policy
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Change tracking e composition in Entity Framework
Miglioramenti nelle performance di Angular 16
Introduzione ai web component HTML