Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato stránka podrobně popisuje možnosti konfigurace sloupce, které jsou specifické pro poskytovatele SQL Serveru.
Unicode a UTF-8
SQL Server 2019 zavedl podporu UTF-8 , která umožňuje ukládání dat UTF-8 do char
sloupců a varchar
jejich konfigurací pomocí speciálních kolací UTF-8.
EF Core 7.0 obsahuje prvotřídní podporu sloupců UTF-8. Pokud je chcete nakonfigurovat, jednoduše nakonfigurujte typ sloupce na char
nebo varchar
, zadejte kolaci UTF-8 (končící na _UTF8
) a určete, že sloupec by měl být 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();
}
Řídké sloupce
Řídké sloupce jsou běžné sloupce s optimalizovaným úložištěm pro prázdné hodnoty, což snižuje požadavky na místo pro tyto hodnoty, avšak za cenu vyšší režie při načítání hodnot, které nejsou prázdné.
Představte si například hierarchii typu mapovanou prostřednictvím strategie TPH (table-per-hierarchy). V TPH se jednoúčelová tabulka databáze používá k uložení všech typů v hierarchii; to znamená, že tabulka musí obsahovat sloupce pro každou a každou vlastnost v celé hierarchii a pro sloupce patřící do vzácných typů bude většina řádků obsahovat hodnotu null pro tento sloupec. V těchto případech může být vhodné nakonfigurovat sloupec jako zhuštěný, aby se snížily požadavky na místo. Rozhodnutí o tom, zda má být sloupec řídký, musí učinit uživatel a závisí to na očekáváních ohledně skutečných dat v tabulce.
Sloupec může být řídký prostřednictvím rozhraní Fluent API:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<RareBlog>()
.Property(b => b.RareProperty)
.IsSparse();
}
Další informace o řídkých sloupcích najdete v dokumentaci k SQL Serveru.