Entity framework core EntityFramewor.Core不迁移sqite数据库

Entity framework core EntityFramewor.Core不迁移sqite数据库,entity-framework-core,android-sqlite,entity-framework-migrations,Entity Framework Core,Android Sqlite,Entity Framework Migrations,我有一个代码优先的模型,例如: public class Cars { public int Id { get; set; } public string Brand { get; set; } } 我的DBContext如下所示: public class TestDbContext : DbContext { protected override void OnConfiguring(DbContextOp

我有一个代码优先的模型,例如:

 public class Cars
 {
     public int Id { get; set; }            
     public string Brand { get; set; }        
 }     
我的DBContext如下所示:

public class TestDbContext : DbContext
{
    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlite("Data Source = data.db");
    }

    DbSet<Car> Cars { get; set; }
}
公共类TestDbContext:DbContext
{
配置时受保护的覆盖无效(DBContextOptions Builder Options Builder)
{
optionsBuilder.UseSqlite(“数据源=Data.db”);
}
DbSet Cars{get;set;}
}
现在,当我调用“context.Database.Migrate”时,会创建一个EFMigrationHistory表,但不会发生迁移。未创建任何表或列

当我在命令行中调用“updatedatabase”时,它会说“没有应用任何迁移。数据库已经是最新的。”尽管有一个“Cars”表要添加


我做错了什么?

看来您可能忘记了创建第一次迁移。每次以需要应用于数据库的方式更改对象模型时, 您需要创建迁移-这不是自动的,因此您可以根据需要自定义迁移代码,并将多个更改批处理到一个逻辑组中

在package manager控制台(命令行)中,将默认项目设置为包含TestDbContext的任何项目,并使用迁移名称运行add migration命令,然后您的项目将运行迁移:

PM> add-migration MyInitalMigration

它奏效了,非常感谢你!:)