繁体   English   中英

EF6 Add-Migration是否不能为空字符串?

[英]EF6 Add-Migration for not nullable string?

我会先从下面的代码按代码添加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:5nullable:false消失了。 我称手动添加它并更新到数据库,但这似乎不合理。

谢谢。

我会回答我的问题。 我发现该帖子: http : //blogs.msdn.com/b/alexj/archive/2009/04/15/tip-12-choosing-an-inheritance-strategy.aspx

默认情况下,EF6使用TPH ,这不允许将列设置为NOT NULL。 请考虑每个类型的表(TPT)或每个具体类别的表(TPC)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM