【发布时间】:2014-01-24 13:25:40
【问题描述】:
我知道我可以为每个属性添加数据注释以将其列类型设置为 VARCHAR 但我有数百个列我想成为 VARCHAR 而不是 NVARCHAR 是否有某种方法可以设置 EF6这是默认的吗?
【问题讨论】:
标签: ef-code-first entity-framework-6
我知道我可以为每个属性添加数据注释以将其列类型设置为 VARCHAR 但我有数百个列我想成为 VARCHAR 而不是 NVARCHAR 是否有某种方法可以设置 EF6这是默认的吗?
【问题讨论】:
标签: ef-code-first entity-framework-6
查找 EF 约定,我认为您可以这样做:
modelBuilder.Properties<string>().Configure(c => c.HasColumnType("varchar"));
我在很大程度上是从 http://msdn.microsoft.com/en-us/data/jj819164#order 中抄袭的,并且没有对其进行测试。
[编辑:] 正如 @Shimmy 在 cmets 中指出的那样,还有 c => c.IsUnicode(false) 似乎在没有硬编码列类型的情况下做同样的事情。
【讨论】:
CHAR
c.IsUnicode(false)有什么区别?