EF 4.3.1 - код первой автоматической миграции - как указать ширину столбца - PullRequest
3 голосов
/ 09 марта 2012

Я пытаюсь найти примеры или документацию, связанную с 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 охватывает только основы

Ответы [ 2 ]

4 голосов
/ 10 марта 2012

Если вы используете AddColumn напрямую, вы можете просто использовать:

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

Если вы определите максимальную длину в EntityTypeConfiguration (это правильный подход), EF Migration справится с этим за вас.

3 голосов
/ 10 апреля 2012

Конфигурирование столбцов должно выполняться в виде аннотаций данных.Чтобы столбец строки имел определенную ширину, используйте StringLengthAttribute:

[Required] // Makes column not null
[StringLength(20)] // Makes it a nvarchar(20) instead of nvarchar(max)
public string SomeString {get;set;}
...