Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta strona zawiera szczegółowe informacje o opcjach konfiguracji kolumn specyficznych dla dostawcy programu SQL Server.
Unicode i UTF-8
Program SQL Server 2019 wprowadził obsługę UTF-8, która umożliwia przechowywanie danych UTF-8 w kolumnach char i varchar przez skonfigurowanie ich przy użyciu specjalnych sortowań UTF-8. Możesz użyć kolumn UTF-8 w programie EF, konfigurując typ kolumny na char wartość lub varchar, określ sortowanie UTF-8 (kończące się na _UTF8), i określając, że kolumna powinna mieć wartość 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();
}
Rzadkie kolumny
Kolumny rozrzedzone to zwykłe kolumny, które mają zoptymalizowane magazynowanie dla wartości null, zmniejszając zapotrzebowanie na miejsce dla wartości null kosztem większego narzutu związanego z pobieraniem wartości innych niż null.
Rozważmy na przykład hierarchię typów mapowaną za pomocą strategii table-per-hierarchy (TPH). W przypadku funkcji TPH jedna tabela bazy danych jest używana do przechowywania wszystkich typów w hierarchii; Oznacza to, że tabela musi zawierać kolumny dla każdej właściwości w całej hierarchii, a w przypadku kolumn należących do rzadkich typów większość wierszy będzie zawierać wartość null dla tej kolumny. W takich przypadkach warto skonfigurować kolumnę jako rozrzedliwą, aby zmniejszyć wymagania dotyczące miejsca. Decyzja o tym, czy kolumna powinna być rzadka, musi być podjęta przez użytkownika i uzależniona jest od oczekiwań dotyczących rzeczywistych danych w tabeli.
Kolumnę można ustawić jako rozrzedzoną za pomocą interfejsu Fluent API.
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<RareBlog>()
.Property(b => b.RareProperty)
.IsSparse();
}
Aby uzyskać więcej informacji na temat rozrzednych kolumn, zobacz dokumentację programu SQL Server.