La novità più attesa in Entity Framework 5 è sicuramente la possibilità di mappare una proprietà che rappresenta un enum. Vediamo in questo script come sia ora semplice utilizzare questa funzionalità. 
Il primo passo è definire l'enum e in questo caso creiamo un enum che rappresenta il sesso di una persona.
public enum Gender{
  Male,
  Female
}Una volta definito l'enum, creiamo una classe di cui una proprietà sia del tipo dell'enum. In questo caso creiamo una classe Person che ha una proprietà sesso di tipo Gender.
public class Person{
  public int Id {get; set; }
  public Gender Gender {get; set; }
}Ora che abbiamo la classe, non ci rimane che creare la classe di contesto che mappa la classe sul database.
public partial class PersonContext : DbContext {
  public DbSet<Person> People { get; set; }
}A questo punto, grazie a Entity Framework 5, la proprietà Gender è mappata sul database come una colonna di tipo int e sarà sempre Entity Framework 5 a occuparsi della conversione da int ad enum, quando eseguiamo una query, e da enum a int, quando persistiamo l'oggetto. Ovviamente, possiamo anche eseguire query che ordinano, filtrano, raggruppano (e così via), in base alla proprietà di tipo enum:
var males = ctx.People.Where(p => p.Gender == Gender.Male);
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
- Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
- Selettore CSS :has() e i suoi casi d'uso avanzati
- Integrare SQL Server in un progetto .NET Aspire
- Gestire progetti .NET + React in .NET Aspire
- Rendere i propri workflow e le GitHub Action utilizzate più sicure
- Utilizzare il metodo ExceptBy per eseguire operazione di sottrazione tra liste
- Collegare applicazioni server e client con .NET Aspire
- Autenticazione di git tramite Microsoft Entra ID in Azure DevOps
- Il nuovo controllo Range di Blazor 9
- Creare una libreria CSS universale: Nav menu
I più letti di oggi
- Nuova build di IE 7 beta 2 preview con la March 20 Refresh
- CSS Friendly Toolkit per ASP.NET 2.0 Beta 1, per migliorare il supporto agli standard web
- The Agentic Day - Milano
- Occhio alle bufale: Microsoft non invia patch via e-mail!
- CSS Friendly ASP.NET 2.0 Control Adapters Beta 3
- .NET Conference Italia 2025 - Milano
- IIS guadagna ancora terreno


