【问题标题】: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 映射,因此您在此处传递的默认值可能是 true 或 1。我会测试两个:-)