#c# #entity-framework #.net-core #entity-framework-core #entity-framework-core-2.2
#c# #entity-framework #.net-ядро #entity-framework-core #entity-framework-core-2.2
Вопрос:
Как я могу настроить модель entity Framework для генерации таблицы, содержащей столбцы типа CHAR(X)
вместо VARCHAR(X)
или NVARCHAR(X)
?
Комментарии:
1. В чем вопрос? Как использовать
char
параметры вместоnvarchar
? Или как генерировать таблицы, используя char вместо nvarchar?
Ответ №1:
Использовать CHAR/NCHAR
вместо VARCHAR/NVARCHAR
Используйте IsFixedLength
метод в дополнение к HasMaxLength
.
builder.Property(x => x.MyField).HasMaxLength(10).IsFixedLength();
Использовать CHAR/VARCHAR
вместо NCHAR/NVARCHAR
Вам нужно вызвать IsUnicode(false)
builder.Property(x => x.MyField).IsUnicode(false);
Комментарии:
1. Зачем вообще использовать char ? Это не принесет никакой пользы при выполнении запросов. Это имеет смысл, если для создания базы данных используется EF. В этом случае, вероятно, лучше создать надлежащие скрипты, чтобы обеспечить использование правильных параметров сортировки и избежать ошибок преобразования