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

我有一个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自动触发此更改。