entityframework 代码优先迁移数据包
entityframework code-first migrations paket
EntityFramework (6.1.3) 的 nuguet 包安装了一些您可以从 nuget 包管理器控制台执行的工具(例如 AddMigration、更新数据库,等等)。如果您使用 nuget 并且加载了适当的 .ps 文件,则这些可用。
我正在使用 paket 而不是 nuget 解决我的项目和解决方案依赖关系,因此我无法使用这些命令。
是否有任何替代方法可以执行这些脚本而无需返回到 nuget?
是的,您从命令行 运行 migrate.exe,它包含在 Tools 文件夹中的 NuGet 包中。
如@ErikEJ 所述,您可以从命令行使用 migrate.exe。不幸的是(来自文档):
All the utility is designed to do is execute migrations. It cannot generate migrations or create a SQL script.
因此您可以 运行 任何现有的迁移,但不能使用此工具创建任何新的迁移。这使得 migrate.exe 无法替代 EF 在包管理器资源管理器中提供的工具。
我尝试在程序包管理器控制台中手动导入 EntityFramework.psd1 文件:
PM> Import-Module ".\packages\EntityFramework\tools\EntityFramework.psd1"
虽然这使得 Enable-Migrations 命令可用,但 运行它产生了以下错误:
No packages installed.
The EntityFramework package is not installed on project 'Foo'.
我猜这一切都将与 EF7 一起更好地工作。但就目前而言,看来我要么不得不完全放弃 paket,要么同时使用 Paket 和 Nuget 的科学怪人来实现这一点。
来自 Paket 问题 Entity Framework code-first migrations:
在我添加 version_in_path: true in paket.dependencies:
之前,EF 命令不会出现在 VS 控制台中
nuget EntityFramework ~> 6.2 version_in_path: true
EntityFramework (6.1.3) 的 nuguet 包安装了一些您可以从 nuget 包管理器控制台执行的工具(例如 AddMigration、更新数据库,等等)。如果您使用 nuget 并且加载了适当的 .ps 文件,则这些可用。
我正在使用 paket 而不是 nuget 解决我的项目和解决方案依赖关系,因此我无法使用这些命令。
是否有任何替代方法可以执行这些脚本而无需返回到 nuget?
是的,您从命令行 运行 migrate.exe,它包含在 Tools 文件夹中的 NuGet 包中。
如@ErikEJ 所述,您可以从命令行使用 migrate.exe。不幸的是(来自文档):
All the utility is designed to do is execute migrations. It cannot generate migrations or create a SQL script.
因此您可以 运行 任何现有的迁移,但不能使用此工具创建任何新的迁移。这使得 migrate.exe 无法替代 EF 在包管理器资源管理器中提供的工具。
我尝试在程序包管理器控制台中手动导入 EntityFramework.psd1 文件:
PM> Import-Module ".\packages\EntityFramework\tools\EntityFramework.psd1"
虽然这使得 Enable-Migrations 命令可用,但 运行它产生了以下错误:
No packages installed.
The EntityFramework package is not installed on project 'Foo'.
我猜这一切都将与 EF7 一起更好地工作。但就目前而言,看来我要么不得不完全放弃 paket,要么同时使用 Paket 和 Nuget 的科学怪人来实现这一点。
来自 Paket 问题 Entity Framework code-first migrations:
在我添加 version_in_path: true in paket.dependencies:
之前,EF 命令不会出现在 VS 控制台中nuget EntityFramework ~> 6.2 version_in_path: true