想象一下我有一个财产:

class Test
{
    [Required]
    public string Toot { get; set; }
}


具有Required导致迁移,因为不允许在我的数据库中使用null。
我实际上不想要该限制,但是我不希望它从现在开始一直为空...

有没有办法仅将其设置为前端输入必需?

我意识到我可以做到这一点:

class Test
{
    [Required]
    public string Toot { get; set; }

    [Required]
    [Display( Name = "Toot" )]
    public string TootForView
    {
        get
        {
            return this.Toot ;
        }
        set
        {
            if(this.Toot != value)
            {
                this.Toot = value;
            }
        }
    }
}

最佳答案

尝试让EF允许列为空:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
        modelBuilder.Entity<SomeObject>().Property(m => m.somefield).IsOptional();
        base.OnModelCreating(modelBuilder);
}


这是代码,应该位于从DbContext继承的对象中。

10-05 23:46