数据模型asp.net Core中字段的默认值

时间:2017-06-13 15:41:39

标签: model asp.net-core-mvc default

我需要为数据模型类中的字段设置默认值,该类是我正在构建的ASP.NET MVC Core Web应用程序的一部分。

正在使用软删除实现应用程序。也就是说,Model Class / DB Table有一个名为" Active"它是一个布尔/位,相应地设置为true或false。即当一个项目被删除时,其Active值为false / 0.所有项目在创建时都是活动的。

我知道当数据发布到" CreateItem"时,可以在控制器中显式设置值。控制器中的方法,但我不必这样做。有不同的方式吗?例如使用属性装饰Model类中的字段。

1 个答案:

答案 0 :(得分:1)

我还没有对此进行测试,但在您的DBContext类中,您将执行以下操作:

protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<YourEntity>()
            .Property(b => b.YourBooleanProperty)
            .HasDefaultValue(true);
    }

HasDefaultValue接受一个对象,因此我不确定EF是否在此方案中执行任何sql映射,因此您在此处传递的默认值可以是true1。我会测试两个:-)