我将首先从代码中添加一个NOT NULL NVARCHAR列:
public class ApplicationUser : IdentityUser
{
[Required, MaxLength(10), MinLength(5)]
public string StaffCode { get; set; }
}
然后我在Nuget控制台上运行“添加迁移用户”,
它在下面生成迁移类:
public partial class abc : DbMigration
{
public override void Up()
{
AlterColumn("dbo.AspNetUsers", "StaffCode", c => c.String(maxLength: 10));
}
public override void Down()
{
AlterColumn("dbo.AspNetUsers", "StaffCode", c => c.String());
}
}
minlength:5 和 nullable:false 消失了。 我打电话手动添加它并更新到数据库,但似乎不合理。
感谢。
答案 0 :(得分:0)
我会回答我的问题。 我发现那个帖子: http://blogs.msdn.com/b/alexj/archive/2009/04/15/tip-12-choosing-an-inheritance-strategy.aspx
默认情况下EF6使用 TPH ,不允许将列设置为NOT NULL。 请考虑每种类型的表(TPT)或每种混凝土类别(TPC)