代码之家  ›  专栏  ›  技术社区  ›  dani herrera

EF核心生成的迁移具有数据库品牌注释。寻找与数据库品牌无关的迁移

  •  0
  • dani herrera  · 技术社区  · 6 年前

    深入研究自动生成的迁移文件,我看到了对特定数据库品牌的引用:

    Id = table.Column<int>(nullable: false)
        .Annotation("SqlServer:ValueGenerationStrategy", //<-- here
                     SqlServerValueGenerationStrategy.IdentityColumn), //<--here
    

    我使用ef2core能够在多个数据库品牌上部署和运行应用程序。此外,应用程序还引用了多个数据库提供商:

    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" ... />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" ... />
    

    为什么EF2对迁移文件上的数据库品牌不是完全不可知的?如何强制自动迁移为所有数据库品牌编写注释?可能是一个好主意,有几个项目,每一个特定的数据库品牌?我该如何处理这个问题?

    1 回复  |  直到 6 年前
        1
  •  0
  •   dani herrera    6 年前

    答复时间 github issues 通过 Arthur Vickers

    在迁移中支持多个提供程序的文档是 here . 我们不打算对迁移到多个提供商实施全面的scafolding和管理,因为成本非常高,而价值相对较低。而且,有时多个迁移集是合适的,而有时单个迁移是合适的。