EF 6如何在生成迁移时跳过现有表

Fai*_*eed 3 entity-framework ef-code-first

我正在尝试在现有项目中使用代码优先。我想从为新实体生成的迁移中排除现有实体。

我将所有模型放在单独的类库项目(例如Data.Models)中,并且打算通过创建另一个类库(例如Infra.EF)使用一个上下文(在其中引用了模型项目)。

这是我的DbContext的样子:

    public DbSet<ExistingEntityOne> DataOfEntityOne { get; set; }
    public DbSet<ExistingEntityTwo> DataofEntityTwo { get; set; }
    public DbSet<NewEntity> NewData { get; set; }
Run Code Online (Sandbox Code Playgroud)

抱歉,问题尚不清楚,但是我可以根据您的反馈添加更多信息。

谢谢。

Mas*_*oud 5

  1. 从项目中删除迁移目录。
  2. 在新的中评论新实体DbContext

    public DbSet<ExistingEntityOne> DataofEntityOne { get; set; }
    public DbSet<ExistingEntityTwo> DataofEntityTwo { get; set; }
    //public DbSet<NewEntity> NewData { get; set; }
    
    Run Code Online (Sandbox Code Playgroud)
  3. 在电源控制台管理器中运行以下命令:

    Enable-Migrations
    Add-Migration somename -IgnoreChanges
    
    Run Code Online (Sandbox Code Playgroud)
  4. 取消评论,评论实体。

    public DbSet<ExistingEntityOne> DataofEntityOne { get; set; }
    public DbSet<ExistingEntityTwo> DataofEntityTwo { get; set; }
    public DbSet<NewEntity> NewData { get; set; }
    
    Run Code Online (Sandbox Code Playgroud)
  5. 运行以下命令:

    Add-Migration someOtherName
    
    Run Code Online (Sandbox Code Playgroud)

您可以在此处找到更多有关EF迁移的信息