Supporto ai tipi DateOnly e TimeOnly in Entity Framework Core

di Stefano Mostarda, in .NET Framework, LINQ,

Con .NET 6 sono stati introdotti i tipi DateOnly e TimeOnly. Sebbene questi fossero integrati in .NET, non erano supportati dallo stato di accesso ai dati e quindi non potevano nemmeno essere supportati da EF che su quello strato si basa. Nel lasso di tempo tra .NET 7 e .NET 8, è stato inserito il supporto ai tipi DateOnly e TimeOnly e quindi con EF 8 è stato aggiunto il supporto nativo a questi tipi. Questo significa che possiamo avere entity con proprietà di tipo DateOnly e TimeOnly e mappate sul database su colonne di tipo Date e Time (questi sono i tipi di colonna di SQL Server, altri database possono avere altri tipi di colonne).

public class Store {
  public int Id { get; set; }
  public DateOnly OpeningDate { get; set; }
  public TimeOnly OpeningTime { get; set; }
  public TimeOnly ClosingTime { get; set; }
}

Una entity come quella di questo script, su SQL Server corrisponde a una tabella come la seguente:

CREATE TABLE [Store] (
    [Id] int NOT NULL IDENTITY,
    [OpeningDate] Date NOT NULL,
    [OpeningTime] time NOT NULL,
    [ClosingTime] time NOT NULL,
    CONSTRAINT [PK_Store] PRIMARY KEY ([Id])
)

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