对于EF中的特定字段,使用modelbuilder将默认字符串从nvarchar类型更改为varchar

时间:2015-12-07 15:16:34

标签: c# entity-framework

我在EF6中使用代码优先迁移,我需要将数据库中字符串参数的默认数据库类型从nvarchar更改为varchar仅用于一个表/实体。

通过在我的上下文类中输入以下内容,我已经找到了如何在全局范围内完成此操作。

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

但这不是我想要的,我只想让它影响我的dbo.Contacts表。

有没有办法只将这个应用于一个实体?我希望在使用自动迁移时使用模型构建器,并且更喜欢使用模型构建配置构建迁移。

1 个答案:

答案 0 :(得分:1)

您可以使用以下数据注释:

[Column(“BlogDescription", TypeName="ntext")]

或者可以尝试使用带有Fluent API的Mappings。

了解详情:http://www.entityframeworktutorial.net/code-first/configure-property-mappings-using-fluent-api.aspx