Entityframework核心2.0,迁移仅在第一次

时间:2017-12-10 02:39:40

标签: entity-framework-core

我在EntityFramework Core 2.0中遇到了迁移系统的问题,它似乎只是第一次使用数据库......:

当我使用命令时:add-migration InitialMigration

生成迁移代码,一切正常。但是,如果我使用database-update,则没有任何反应......

如果我使用随机名称更改连接字符串中的数据库名称(仅为示例添加123),则命令database-update将在此新数据库中运行并执行迁移...

如果我尝试进行其他迁移,则会出现同样的问题。没有任何反应,我必须再次更改数据库名称才能生成迁移代码。

DbContext:

public class TestProjectDbContext : DbContext
{

    public TestProjectDbContext(DbContextOptions<TestProjectDbContext> options) : base(options)
    {

    }

    public DbSet<User> User { get; set; }

}

用户类(命名空间TestProject.Data.Models)

public class User
{
    public int Id { get; set; }

    public string LastName { get; set; }

    public string FirstName { get; set; }

    public string Login { get; set; }

    public string Email { get; set; }

    public DateTime Created { get; set; }

}

连接字符串格式(appsettings.json)

{
  "ConnectionStrings": {
    "DefaultConnection": "Server=IPADRESS;Database=TestProject;User Id=xxxxxx; Password=xxxxxx;MultipleActiveResultSets=True"
  },

任何想法..?谢谢:))

1 个答案:

答案 0 :(得分:0)

经过第二次观察,我相信你正在运行&#34;数据库更新&#34;而不是&#34;更新 - 数据库&#34;

您的代码适用于我,如下所示。

我只是抓住你的代码并自己测试它,注意Startup.cs中的服务初始化:

    var connection = @"Server=(localdb)\myhost;Database=myTestDb;Trusted_Connection=True;";
    services.AddDbContext<aDbContext>(options => options.UseSqlServer(connection));