Настроить EF6 на использование varchar по умолчанию вместо nvarchar?

ef-code-first entity-framework-6

Вопрос

Я знаю, что могу добавить аннотацию данных к каждому свойству, чтобы установить его тип столбца в VARCHAR но у меня есть сотни столбцов, которые я хочу быть VARCHAR вместо NVARCHAR есть ли способ настроить EF6, чтобы сделать это по умолчанию?

Принятый ответ

Поднимая соглашения EF, я думаю, вы можете сделать что-то вроде этого:

modelBuilder.Properties<string>().Configure(c => c.HasColumnType("varchar"));

Я в значительной степени сорвал это с http://msdn.microsoft.com/en-us/data/jj819164#order и не тестировал его.

[Edit:] Как отмечает @Shimmy в комментариях, есть также c => c.IsUnicode(false) который, похоже, делает то же самое без hardcoding типа столбца.



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему