Impostare il tipo di supporto dei campi Json in Entity Framework con SQL Server

di Stefano Mostarda, in LINQ, Entity Framework,

Nello script #689 abbiamo visto che SQLServer 2025 supporta nativamente le colonne di tipo Json. Quando Entity Framework vede che c'è una proprietà mappata verso una colonna JSON, di default cercherà di creare la colonna come JSON al moment della creazione della tabella tramite migration o altro.
Tuttavia, se la versione di Sql Server che si intende usare è precedente alla 2025, la migration deve tenere conto di questo è generare codice SQL compatibile. Per fare questo dobbiamo ricorrere al metodo di configurazione UseCompatibilityLevel e passare un valore inferiore a 170 (che è il livello di SQL Server 2025).

Nell'esempio qui sotto impostiamo il livello di compatibilità a SQL Server 2022 (160) e quindi Entity Framework genererà codice Sql che usa varchar/nvarchar per memorizzare le colonne mappate in Json.

services.AddDbContext<MyContext>(c =>
{
  c.UseSqlServer(configuration.GetConnectionString("Sql"), o => o.UseCompatibilityLevel(160));
});

Commenti

Visualizza/aggiungi commenti

| Condividi su: LinkedIn, Facebook

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