EF Core生成的迁移具有数据库品牌注释。寻找数据库品牌不可知的迁移

时间:2018-09-13 09:02:59

标签: entity-framework

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

github issuesArthur Vickers上得到了答案:

  

在迁移中支持多个提供商的文档为here。我们不打算为迁移到多个提供商而实施全面扩展和管理,因为与许多其他事物相比,成本很高,而价值却相对较低。另外,有时候多个迁移集是合适的,而有时候一个迁移是合适的。