我正在尝试查找与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博客仅涵盖基础知识
答案 0 :(得分:4)
如果直接使用AddColumn
,您只需使用:
AddColumn("Districts", "Code", c => c.String(maxLength: 20));
如果您在EntityTypeConfiguration
中定义最大长度(这是正确的方法),EF Migration将为您处理。
答案 1 :(得分:3)
列的配置应该作为数据注释完成。要使字符串列具有特定宽度,请使用StringLengthAttribute
:
[Required] // Makes column not null
[StringLength(20)] // Makes it a nvarchar(20) instead of nvarchar(max)
public string SomeString {get;set;}