Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
На этой странице описаны параметры конфигурации столбцов, относящиеся к поставщику SQL Server.
Юникод и UTF-8
В SQL Server 2019 появилась поддержка UTF-8 , которая позволяет хранить данные UTF-8 в char столбцах и varchar настраивать их с помощью специальных параметров сортировки UTF-8. Столбцы UTF-8 можно использовать с EF, просто настроив тип char столбца или varcharукажите параметры сортировки UTF-8 (в конце _UTF8) и указав, что столбец должен быть Юникодом:
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();
}
Разреженные столбцы
Разреженные столбцы — это обычные столбцы, которые имеют оптимизированное хранилище для NULL-значений, уменьшая требования к пространству для NULL-значений за счет увеличения расходов на извлечение значений, отличных от NULL.
В качестве примера рассмотрим иерархию типов, сопоставленную с использованием стратегии одной таблицы на иерархию (TPH). В TPH одна таблица базы данных используется для хранения всех типов в иерархии; Это означает, что таблица должна содержать столбцы для каждого и каждого свойства во всей иерархии, а для столбцов, принадлежащих редким типам, большинство строк будет содержать значение NULL для этого столбца. В таких случаях может потребоваться настроить столбец как разреженный, чтобы уменьшить требования к пространству. Решение о том, делать ли столбец разреженным, должно приниматься пользователем и зависит от ожиданий относительно фактических данных в таблице.
Столбец можно сделать разреженным с помощью API Fluent:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<RareBlog>()
.Property(b => b.RareProperty)
.IsSparse();
}
Дополнительные сведения о разреженных столбцах см. в документации ПО SQL Server.