用于 ASP.NET Core 应用程序的 EF Code First 迁移替代方案
Posted
技术标签:
【中文标题】用于 ASP.NET Core 应用程序的 EF Code First 迁移替代方案【英文标题】:EF Code First migrations alternative for ASP.NET Core application 【发布时间】:2017-04-05 15:23:08 【问题描述】:我有一个与 ASP.NET Core 的数据库迁移框架有关的问题。
所以我们有漂亮的实体框架,我们有代码优先迁移,在这种情况下,一切都对我们很好。 但是,我在我的应用程序中使用 Dapper ORM 而不是 EF,在这种情况下我不能使用 EF 迁移。所以我需要像flywaydb migrations 这样的东西,但是对于 ASP.NET Core 应用程序。
你知道一些可以帮助我的框架吗?
谢谢。
【问题讨论】:
【参考方案1】:看起来有我的解决方案:
fluentmigrator
DbUp
但仍需要进一步研究此解决方案。
【讨论】:
嘿,也请查看我的项目 SharpMigrations :) github.com/sharpmigrations/sharpmigrations/tree/2.0【参考方案2】:你说你根本没有使用 EF。为什么不使用 Visual Studio 数据库项目。如果您有现有的数据库,请将其导入数据库项目。此后,您在数据库项目中进行更改,然后通过模式比较和脚本工具将它们推送到您的实例。您的数据库项目可以存在于您的 VS 解决方案中。我是否正确理解了这个问题?
【讨论】:
还有一点是DB项目只支持Windows下 DB 项目和 dacpac 部署仅适用于 SQL Server,但您的 SQL Server 可以在 Linux 或 Azure 上。你是说 VB for mac 没有数据库项目?这不会是一个大惊喜,但我不认为很多人受到影响。也许我需要多出去走走?【参考方案3】:你可以使用
Update-Database -Script
在你的迁移命令上获取sql代码
【讨论】:
是的,但Update-Database -Script
据我所知,这是一个实体框架命令。但就我而言,我完全摆脱了 EF,所以我需要一些其他方法来应用数据库迁移。以上是关于用于 ASP.NET Core 应用程序的 EF Code First 迁移替代方案的主要内容,如果未能解决你的问题,请参考以下文章
带有 EF Core 和 CosmosDB .NET 5 的 ASP.Net Core - IdentityRole 问题
.NET Core 1.0ASP.NET Core 1.0和EF Core 1.0简介
如何使用 EF Core 在 ASP.NET Core 中取消应用迁移
在 ASP.NET Core 中使用 DbContext 注入并行 EF Core 查询