深入研究自动生成的迁移文件,我看到了对特定数据库品牌的引用:
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对迁移文件上的数据库品牌不完全了解?如何强制自动迁移为所有数据库品牌编写注释?拥有多个项目,每个项目针对一个特定的数据库品牌,可能是一个好主意?我应该如何处理这个问题?
答案 0 :(得分:0)
github issues在Arthur Vickers上得到了答案:
在迁移中支持多个提供商的文档为here。我们不打算为迁移到多个提供商而实施全面扩展和管理,因为与许多其他事物相比,成本很高,而价值却相对较低。另外,有时候多个迁移集是合适的,而有时候一个迁移是合适的。