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
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Semplificare il deployment di siti statici con Azure Static Web App
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Eseguire attività con Azure Container Jobs
Utilizzare la libreria Benchmark.NET per misurare le performance
Sfruttare i KeyedService in un'applicazione Blazor in .NET 8
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Utilizzare i primary constructor di C# per inizializzare le proprietà
.NET Conference Italia 2023
Generare file PDF da Blazor WebAssembly con iText
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
I più letti di oggi
- Vuoi incontrare Bill Gates? Viaggia con ASPItalia.com!
- Customizzare il pager del DataGrid
- Stabilire un collegamento VPN tra una Web App e una Virtual Network
- Documentare ASP.NET Web API con Swagger
- Usare i servizi REST di BING per ottenere informazioni sulla posizione dell'utente
- Visual Studio 2005 CTP May