什么是在实体框架核心中使用Code-First方法设置数据库列默认值的方式?
尝试 #1: 在模型上使用DefaultValue
属性似乎不起作用。
[DefaultValue(true)]
public bool ShowInReports { get; set; }
运行迁移后,dotnet ef版本5.0.1将生成以下代码:
migrationBuilder.AddColumn<bool>(
name: "ShowInReports",
table: "ParametersUsed",
nullable: false,
defaultValue: false);
尝试 #2: 在 OnModelCreating
中定义值时无法识别函数:
modelBuilder.Entity<TableName>()
.Property(t=> t.ShowInReports)
.HasDefaultValue(true);
错误:
'PropertyBuilder<bool>'不包含定义为'HasDefaultValue'的内容,也没有可访问的扩展方法'HasDefaultValue'可以接受类型为'PropertyBuilder<bool>'的第一个参数(您是否缺少using指令或程序集引用?)