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
Sfruttare al massimo i topic space di Event Grid MQTT
Gestire gli accessi con Token su Azure Container Registry
Utilizzare il metodo Index di LINQ per scorrere una lista sapendo anche l'indice dell'elemento
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Eseguire i worklow di GitHub su runner potenziati
Filtering sulle colonne in una QuickGrid di Blazor
Routing statico e PreRendering in una Blazor Web App
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Collegare applicazioni server e client con .NET Aspire
Criptare la comunicazione con mTLS in Azure Container Apps
Creare una libreria CSS universale: i bottoni
Generare un hash con SHA-3 in .NET