C# 如何在c中向现有数据表添加新列#

C# 如何在c中向现有数据表添加新列#,c#,asp.net-core,C#,Asp.net Core,我已经为“订单”实体创建了数据表。现在,我想为现有表添加一个新列。要添加的新属性是一个布尔值,默认情况下该值必须为“false”。 有办法做到这一点吗? 这就是模型。(应该添加的属性与我在代码中的注释相同。我不知道我这样做是对还是错。但它不起作用。我添加了代码,但它没有向数据表添加列。) 请一些专家帮我解决这个问题好吗?您不需要添加[DefaultValue(false)],只需完成公共bool即可 首先,添加一个新的迁移: Add-Migration initxxxxx(new name)

我已经为“订单”实体创建了数据表。现在,我想为现有表添加一个新列。要添加的新属性是一个布尔值,默认情况下该值必须为“false”。 有办法做到这一点吗?

这就是模型。(应该添加的属性与我在代码中的注释相同。我不知道我这样做是对还是错。但它不起作用。我添加了代码,但它没有向数据表添加列。)


请一些专家帮我解决这个问题好吗?

您不需要添加[DefaultValue(false)],只需完成公共bool即可

首先,添加一个新的迁移:

Add-Migration initxxxxx(new name)
然后将显示一个新的迁移文件,其中包含以下代码:

migrationBuilder.AddColumn<bool>(
            name: "Complete2",
            table: "Order",
            type: "bit",
            nullable: false,
            defaultValue: false);
migrationBuilder.AddColumn(
名称:“Complete2”,
表:“订单”,
输入:“位”,
可为空:false,
默认值:false);
您可以看到默认值是默认设置的。但如果要将defaultValue更改为true,则应将AddColumn更改为AlterColumn,并更改defaultValue,否则将不应用更改

最后使用更新数据库并刷新数据库以检查结果:


示例如何使用代码优先的方法。您需要执行迁移或使用EnsureCreated()。
migrationBuilder.AddColumn<bool>(
            name: "Complete2",
            table: "Order",
            type: "bit",
            nullable: false,
            defaultValue: false);