1

我们必须在我们当前的数据库中添加一些行。我的老板告诉我使用它的迁移(我们有一个.net核心应用程序,并使用EF核心1.1.1)。我不确定如何继续,我了解迁移是“数据库模式修改”的事情,而不是“数据更新”的事情。我知道种子也存在,但我认为它们是“第一次/原始数据填充”在项目中完成一次,而不是在任何随机时刻。 那么,我应该使用种苗还是应该使用迁移?简单数据操作的迁移是否存在?还是有第三种方法可以做到这一点?什么是使用.NET核心修复数据库数据的正确方法?

回答

1

你可以创建你自己的Up/Down覆盖并告诉它根据需要使用T-SQL创建或插入。这将是一个没有进行模式更改的迁移。但下来会删除这些种子项目。

public partial class InsertMigrationRows10 : Migration 
{ 
    protected override void Up(MigrationBuilder migrationBuilder) 
    { 
     migrationBuilder.Sql("INSERT INTO SOMETHING(xx, xx, xx)", suppressTransaction: false); 
    } 
    protected override void Down(MigrationBuilder migrationBuilder) 
    { 
     //reverse what ever you did in UP 
     migrationBuilder.Sql("DELETE SOMETHING ...."); 
    } 
} 

我想这就是你要找的。和Update-Database(PMC)电话将是必要的,以使其运行。 dotnet ef database update否则从项目的目录中。当然,请记住,我不知道这是否是最好的解决方案。

相关问题