如何使用Entity Framework 6 Code First更改现有列的大小

时间:2015-02-03 12:33:38

标签: c# entity-framework fluent

我有一个POCO工厂,它映射到我的数据库中的表dbo.Plant(SQL SERVER 2014)。数据库中的某些列的数据类型为nvarchar(max)NULL。我正在尝试使用以下代码通过EntityTypeConfiguration更改数据类型:

Property(x => x.PCode).HasMaxLength(25);

但是,在添加迁移(添加迁移名称)时,生成的Up() - 方法将不包含此列的任何更改。 但是,如果我也像这样要求:

Property(x => x.PCode).HasMaxLength(25).IsRequired();

..然后将在Up() - 方法中进行适当的更改:

AlterColumn("dbo.Plant", "PCode", c => c.String(nullable: false, maxLength: 25));

是否可以让它只注册大小的变化而不改变可空性?

编辑:我已经设法通过直接在Up()和Down()方法中进行更改来解决问题,但问题仍然存在,如果有任何事情只会使用EntityTypeConfiguration自动触发此更改。

0 个答案:

没有答案