【问题标题】:default value for field in data model asp.net Core数据模型 asp.net Core 中字段的默认值
【发布时间】:2017-06-15 02:29:34
【问题描述】:

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

应用程序正在使用软删除实现。也就是说,模型类/数据库表有一个名为“活动”的字段,它是一个布尔值/位,相应地设置为真或假。即当一个项目被删除时,它的 Active 值为 false / 0。所有项目在创建时都是活动的。

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

【问题讨论】:

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


    【解决方案1】:

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

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

    HasDefaultValue 接受一个对象,所以我不确定 EF 在这种情况下是否进行任何 sql 映射,因此您在此处传递的默认值可能是 true1。我会测试两个:-)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-28
      • 2010-10-19
      • 1970-01-01
      • 2012-08-09
      • 2011-02-16
      • 1970-01-01
      • 2017-01-28
      相关资源
      最近更新 更多