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. Sloupce UTF-8 můžete použít s EF jednoduše tak, že nakonfigurujete typ char sloupce na nebo varchar, zadáte kolaci UTF-8 (končící _UTF8na) a určíte, ž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.