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
它奏效了,非常感谢你!:)