Utilizzare i value converter in entity Framework Core 2.1

di Stefano Mostarda, in LINQ, Entity Framework,

Una delle novità introdotte da Entity Framework Core 2.1 è la possibilità di disaccoppiare il tipo della colonna salvata sul database dal tipo della proprietà che mappa nell'entity. Per fare alcuni esempi, possiamo avere una proprietà di tipo Enum sulla nostra entity e una stringa sul database, oppure avere una proprietà di tipo bool sull'entity e un numero sul database invece che un bit.
Grazie ai value converter, Entity Framework permette di gestire queste differenze nei tipi a livello di mapping senza quindi dover fare alcuna conversione manuale ne in fase di query ne in fase di persistenza.
Entity Framework espone già alcuni converter pronti per l'uso. In questo esempio usiamo il value converter EnumToStringConverter per avere un Enum sull'entity e una stringa sul database.

var converter = new EnumToStringConverter<Gender>();

modelBuilder
    .Entity<Person>()
    .Property(e => e.Gender)
    .HasConversion(converter);

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi