我可以通过EF Code First更改字符串列生成的约定吗?

时间:2012-05-06 16:21:11

标签: entity-framework entity-framework-4.1 ef-code-first

使用一个非常具体的示例最终得到一个更一般的问题:如何为Code First列生成配置列类型约定,以便对字符串列使用nvarchar(50)而不是nvarchar(MAX)

1 个答案:

答案 0 :(得分:1)

您可以通过两种方式更改默认数据库类型:

首先,您可以向属性添加适当的属性。注释[StringLength(50)]指定长度为50。

其次,您可以使用StringPropertyConfiguration方法配置属性。

var entityTypeConfiguration = modelBuilder.Entity<YourEntityType>;
entityTypeConfiguration.Property(t => t.StringProperty).HasMaxLength(50);

您可以查看其他StringPropertyConfiguration方法,了解哪些其他选项可用于配置。