Я имел поле со следующими атрибутами:Изменения StringLength атрибута не входит в кодовом Первой миграции
[Column("Name")]
[StringLength(50)]
public string Name { get; set; }
Миграция для этой области выглядит следующим образом:
CreateTable(
"dbo.TEST",
c => new
{
Id = c.Int(nullable: false),
Name = c.String(maxLength: 50),
})
.PrimaryKey(t => t.Id)
.Index(t => t.Id
);
Тогда я изменил поле, как это:
[Column("Test_Name")]
[StringLength(255)]
public string TestName { get; set; }
и выполнен Add-Migration
, но StringLength
изменения не был включен, он по-прежнему NVARCHAR2(50)
в моей БД Oracle и новая миграция выглядит следующим образом:
RenameColumn(table: "dbo.TEST", name: "Name", newName: "Test_Name");
Это общая проблема?
Что нужно сделать, чтобы длина также была изменена в БД?
Возможно, вам понадобится взломать код Up(): http://stackoverflow.com/questions/28299080/how-to-change-size-of-existing-column-using-entity-framework-6-code- сначала –