3

我正在尝试查找与 DbMigration 和 ColumnModel 相关的示例或文档。我只是想在 DBMigration Up 方法中指定字符串属性的宽度,例如

AddColumn("Districts", "Code", c => c.String());

将创建 nvarchar(max) - 例如,我想指定 maxlength(20) 。这是与 EntityTypeConfiguration 集成还是我必须手动添加

this.Property(t => t.Name).HasColumnName("Code").IsRequired().HasMaxLength(20);

MSDN 帮助没有给出任何示例,ef4 博客上的演练仅涵盖基础知识

4

2 回答 2

4

如果您AddColumn直接使用,您可以简单地使用:

AddColumn("Districts", "Code", c => c.String(maxLength: 20));

如果您在EntityTypeConfiguration(这是正确的方法)中定义最大长度,EF Migration 将为您处理它。

于 2012-03-10T10:08:52.357 回答
3

列的配置应该作为数据注释来完成。要使字符串列具有特定宽度,请使用StringLengthAttribute

[Required] // Makes column not null
[StringLength(20)] // Makes it a nvarchar(20) instead of nvarchar(max)
public string SomeString {get;set;}
于 2012-04-10T18:44:15.840 回答