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

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

Ответ 1

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

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

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

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