我知道可以为每个属性添加数据注释来将其列类型设置为VARCHAR
,但我有数百个要更改为VARCHAR
而不是NVARCHAR
的列,是否有一种设置EF6使其成为默认值的方法?
我知道可以为每个属性添加数据注释来将其列类型设置为VARCHAR
,但我有数百个要更改为VARCHAR
而不是NVARCHAR
的列,是否有一种设置EF6使其成为默认值的方法?
查阅 EF 惯例,我认为你可以像这样做:
modelBuilder.Properties<string>().Configure(c => c.HasColumnType("varchar"));
这大部分是从 http://msdn.microsoft.com/en-us/data/jj819164#order 抄袭来的,我没有测试过。
[编辑:] 如评论中 @Shimmy 指出的,还有 c => c.IsUnicode(false)
这个方法,它似乎可以做到相同的事情而不需要硬编码列类型。
c.IsUnicode(false)
有什么区别? - Shimmy Weitzhandler