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



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

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

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

我还没有测试过这个,但是在您的DBContext类中,您将执行以下操作:

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

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

最新更新