Megosztás:


Az Entity Framework Core SQL Server-szolgáltatóra jellemző oszlopfunkciók

Ez a lap az SQL Server-szolgáltatóra jellemző oszlopkonfigurációs beállításokat ismerteti.

Unicode és UTF-8

Az SQL Server 2019 bevezette az UTF-8 támogatását, amely lehetővé teszi az UTF-8-adatok char tárolását és varchar az oszlopokban való tárolását speciális UTF-8 rendezésekkel. Az UTF-8 oszlopokat az EF-vel egyszerűen konfigurálhatja az oszlop típusának char konfigurálásával vagy varcharUTF-8 rendezéssel (végződéssel _UTF8), és megadhatja, hogy az oszlopNak Unicode-nak kell lennie:

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();
}

Ritka oszlopok

A ritka oszlopok olyan szokásos oszlopok, amelyek a null értékekhez optimalizált tárterülettel rendelkeznek, így csökkentik a null értékek helyigényét a nem null értékek lekérésének többletterhelése miatt.

Például vegyünk egy típushierarchiát, amely a hierarchiánkénti táblázatos stratégia (TPH) alapján van leképezve. A TPH-ban egyetlen adatbázistáblát használunk a hierarchia összes típusának tárolására; Ez azt jelenti, hogy a táblának a teljes hierarchia minden tulajdonságához oszlopokat kell tartalmaznia, és a ritka típusok oszlopai esetében a legtöbb sor null értéket fog tartalmazni az adott oszlophoz. Ezekben az esetekben érdemes lehet az oszlopot ritkán konfigurálni a helyigény csökkentése érdekében. A felhasználónak kell eldöntenie, hogy ritka oszlopot szeretne-e készíteni, és a táblában szereplő tényleges adatokkal kapcsolatos elvárásoktól függ.

Az oszlop ritkává tehető a Fluent API használatával:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<RareBlog>()
        .Property(b => b.RareProperty)
        .IsSparse();
}

A ritka oszlopokkal kapcsolatos további információkért tekintse meg az SQL Server dokumentációit.