我需要为数据模型类中的字段设置默认值,该类是我正在构建的ASP.NET MVC Core Web应用程序的一部分。
正在使用软删除实现应用程序。也就是说,Model Class / DB Table有一个名为" Active"它是一个布尔/位,相应地设置为true或false。即当一个项目被删除时,其Active值为false / 0.所有项目在创建时都是活动的。
我知道当数据发布到" CreateItem"时,可以在控制器中显式设置值。控制器中的方法,但我不必这样做。有不同的方式吗?例如使用属性装饰Model类中的字段。
答案 0 :(得分:1)
我还没有对此进行测试,但在您的DBContext类中,您将执行以下操作:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<YourEntity>()
.Property(b => b.YourBooleanProperty)
.HasDefaultValue(true);
}
HasDefaultValue
接受一个对象,因此我不确定EF是否在此方案中执行任何sql映射,因此您在此处传递的默认值可以是true
或1
。我会测试两个:-)