📜  migrationbuilder 插入数据示例 - C# (1)

📅  最后修改于: 2023-12-03 15:32:54.265000             🧑  作者: Mango

MigrationBuilder 插入数据示例 - C#

如果你正在使用 .NET Core 或 EF Core 进行开发,那么你一定会使用 MigrationBuilder 来创建数据库迁移操作。本示例将介绍如何使用 MigrationBuilder 插入数据。

添加数据到迁移中

为了向数据库添加数据,需要在迁移操作中添加 InsertData 方法。下面是一个示例迁移文件中如何添加数据:

protected override void Up(MigrationBuilder migrationBuilder)
{
    migrationBuilder.CreateTable(
        name: "Books",
        columns: table => new
        {
            Id = table.Column<int>(nullable: false)
                .Annotation("SqlServer:Identity", "1, 1"),
            Title = table.Column<string>(nullable: true),
            Author = table.Column<string>(nullable: true),
            PublishDate = table.Column<DateTime>(nullable: false)
        },
        constraints: table =>
        {
            table.PrimaryKey("PK_Books", x => x.Id);
        });

    // 插入数据
    migrationBuilder.InsertData(
        table: "Books",
        columns: new[] { "Id", "Title", "Author", "PublishDate" },
        values: new object[] { 1, "The Great Gatsby", "F. Scott Fitzgerald", new DateTime(1925, 4, 10) });
}

在上面的示例中,我创建了一个名为 "Books" 的表,并调用 InsertData 方法来插入一条记录。方法的第一个参数是表的名称,第二个参数是包含列名和值的数组。

执行迁移

现在,我们已经在迁移操作中添加了数据,下一步就是执行迁移来更新数据库。可以使用以下命令来执行迁移:

dotnet ef database update

执行上述命令后,数据将被插入到数据库中。

结论

如上所述,你可以使用 MigrationBuilder 的 InsertData 方法来向数据库添加数据。这在一些情况下是非常有用的,例如向数据库的初始化数据。