L'attributo EntityTypeConfiguration permette di specificare quale classe contiene il mapping associato all'entity a cui si applica l'attributo. Prendiamo come esempio il seguente codice.
[EntityTypeConfiguration(typeof(PersonConfiguration))] public class Person { ... }
Una delle cose scomode di questa tecnica di mapping consiste nel fatto che il parametro che passiamo all'attributo è un oggetto di tipo Type. Questo significa che per errore potremmo passare il tipo string, int (o qualunque altro tipo) e otterremmo un'eccezione solamente a runtime.
La versione 11 di C# ha introdotto la possibilità di utilizzare i generics con gli attributi. Grazie a questa funzionalità, il team di EF ha introdotto una versione generica: EntityTypeConfiguration
Come risultato, possiamo riscrivere il codice dell'esempio precedente nel seguente modo.
[EntityTypeConfiguration<PersonConfiguration, Person>] public class Person { ... }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Recuperare App Service cancellati su Azure
Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Montare Azure Blob Storage su Linux con BlobFuse2
Inference di dati strutturati da testo con Semantic Kernel e ASP.NET Core Web API
Creare una libreria CSS universale: Nav menu
Il nuovo controllo Range di Blazor 9
Centralizzare gli endpoint AI Foundry con Azure API Management
Utilizzare Locust con Azure Load Testing
Rendere le variabili read-only in una pipeline di Azure DevOps
Ordine e importanza per @layer in CSS
Creare una libreria CSS universale: i bottoni
I più letti di oggi
- Gestire coppie chiave-valore con Autocomplete di jQuery UI in ASP.NET
- Usare Json.NET come motore di serializzazione in ASP.NET MVC
- Microsoft Security Bulletin MS05-014
- Effettuare un redirect permanente di una pagina ASP.NET 4.0
- Attivare l'output caching su ASP.NET Web API
- Gestione CSS in Blazor con .NET 9