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
Mascherare l'output di un valore all'interno dei log di un workflow di GitHub
Sostituire la GitHub Action di login su private registry
Effettuare lo stream della risposta in ASP.NET Core tramite IAsyncEnumerable
Paginare i risultati con QuickGrid in Blazor
Miglioramenti nelle performance di Angular 16
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Utilizzare le Cache API di JavaScript per salvare elementi nella cache del browser
Generare file PDF da Blazor WebAssembly con iText
Aggiungere interattività lato server in Blazor 8
Hosting di componenti WebAssembly in un'applicazione Blazor static
Routing statico e PreRendering in una Blazor Web App
Accesso sicuro ai secrets attraverso i file in Azure Container Apps