如何在asp.net core 1.0中添加迁移

5
我在创建迁移时遇到了问题,迁移未能成功创建。这是在DbInitializer包中创建迁移时出现的问题。请帮我检查一下原因。
public static class DbInitializer
{
    public static void Initialize(SchoolContext context)
    {
        context.Database.EnsureCreated();

        // Look for any students.
        if (context.Students.Any())
        {
            return;   // DB has been seeded
        }

        var students = new Student[]
        {
        new Student{FirstMidName="Carson",LastName="Alexander",EnrollmentDate=DateTime.Parse("2005-09-01")},
        new Student{FirstMidName="Meredith",LastName="Alonso",EnrollmentDate=DateTime.Parse("2002-09-01")},
        new Student{FirstMidName="Arturo",LastName="Anand",EnrollmentDate=DateTime.Parse("2003-09-01")},
        new Student{FirstMidName="Gytis",LastName="Barzdukas",EnrollmentDate=DateTime.Parse("2002-09-01")},
        new Student{FirstMidName="Yan",LastName="Li",EnrollmentDate=DateTime.Parse("2002-09-01")},
        new Student{FirstMidName="Peggy",LastName="Justice",EnrollmentDate=DateTime.Parse("2001-09-01")},
        new Student{FirstMidName="Laura",LastName="Norman",EnrollmentDate=DateTime.Parse("2003-09-01")},
        new Student{FirstMidName="Nino",LastName="Olivetto",EnrollmentDate=DateTime.Parse("2005-09-01")}
        };
        foreach (Student s in students)
        {
            context.Students.Add(s);
        }
        context.SaveChanges();

    }
}

在 Startup.cs 中进行了更改

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "default",
        template: "{controller=Home}/{action=Index}/{id?}");
});
DbInitializer.Initialize(conetxt);

包管理器控制台 > 添加迁移 FirstMigration,完成后执行 Update-Database

在执行 Update-Database 命令时出现了问题。


请返回其余的错误信息? - niceman
在ASP.NET Core中,你不能使用 Package Manager Console 来添加迁移。你需要使用 dotnet CLI,参见这里:https://learn.microsoft.com/en-us/ef/core/miscellaneous/cli/dotnet - Marcin Zablocki
你的 Startup.cs 文件好像有个拼写错误(是 context 而不是 conetxt 吗?) - fpietka
1个回答

6

使用 EF Core,现在有两种不同的命令行工具,即 dotnet cliPM console。您可以查看官方文档以获取更多参考信息。

使用dotnet CLI添加迁移时,可以使用以下命令:

用法:dotnet ef migrations [options] [command]

选项:

  • -h|--help => 显示帮助信息
  • -v|--verbose => 启用详细输出

命令:

  • add => 添加新迁移
  • list => 列出迁移
  • remove => 删除最后一个迁移
  • script => 从迁移生成 SQL 脚本

因此,要添加名为 FirstMigration 的新迁移,您需要运行以下命令:

>dotnet ef migrations add FirstMigration

相同的命令也适用于Package Manager Console
  • 如果您使用Visual Studio 2017,它们应该已安装
  • 如果您使用Visual Studio 2017,则需要使用Install-Package Microsoft.EntityFrameworkCore.Tools -Pre进行安装。(请查看关于在文档中并行安装EF Core和EF6命令的部分)
为了添加迁移,您需要运行:
>Add-Migration FirstMigration

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接