Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
In questa pagina vengono fornite informazioni dettagliate sulle opzioni di configurazione della colonna specifiche del provider SQL Server.
Unicode e UTF-8
SQL Server 2019 ha introdotto il supporto UTF-8 , che consente di archiviare dati UTF-8 in char e varchar colonne configurandoli con regole di confronto UTF-8 speciali. È possibile usare le colonne UTF-8 con ENTITY semplicemente configurando il tipo della colonna in char o varchar, specificando regole di confronto UTF-8 (che terminano con _UTF8) e specificando che la colonna deve essere Unicode:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Blog>()
.Property(b => b.Name)
.HasColumnType("varchar(max)")
.UseCollation("LATIN1_GENERAL_100_CI_AS_SC_UTF8")
.IsUnicode();
}
Colonne di tipo sparse
Le colonne di tipo sparse sono colonne normali con un'archiviazione ottimizzata per i valori Null, riducendo i requisiti di spazio per i valori Null a costo di un sovraccarico maggiore per recuperare valori non Null.
Si consideri ad esempio una gerarchia di tipi mappata tramite la strategia TPH (Table-Per-Hierarchy). In TPH viene usata una singola tabella di database per contenere tutti i tipi in una gerarchia; Ciò significa che la tabella deve contenere colonne per ogni proprietà nell'intera gerarchia e per le colonne appartenenti a tipi rari, la maggior parte delle righe conterrà un valore Null per tale colonna. In questi casi, può essere opportuno configurare la colonna come sparse per ridurre i requisiti di spazio. La decisione se creare una colonna sparse deve essere presa dall'utente e dipende dalle aspettative sui dati effettivi nella tabella.
Una colonna può diventare di tipo sparse utilizzando la Fluent API.
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<RareBlog>()
.Property(b => b.RareProperty)
.IsSparse();
}
Per altre informazioni sulle colonne di tipo sparse, vedere la documentazione di SQL Server.