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

本文关键字:类型 字符串 nvarchar varchar 默认 EF modelbuilder 字段 使用 | 更新日期: 2023-09-27 18:25:55

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

通过在上下文类的模型构建中输入以下内容,我发现了如何在全局范围内实现这一点。

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

但这不是我想要的,我只想影响我的dbo。联系人表。

有没有一种方法可以只将其应用于一个实体?我想使用模型构建器来完成这项工作,因为我使用的是自动迁移,并且更喜欢使用模型构建配置来构建迁移。

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

您可以使用DataAnnotations,例如:

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

或者可以尝试将映射与Fluent API一起使用。

查看更多信息:http://www.entityframeworktutorial.net/code-first/configure-property-mappings-using-fluent-api.aspx