powershell - PowerShell 中的 EF6 添加迁移,在 Visual Studio 之外

标签 powershell entity-framework-6 entity-framework-migrations

如何运行 EF6 Add-Migration在 Visual Studio 之外,在 PowerShell 窗口中?

当我尝试运行它时,出现以下错误消息:

Add-Migration : The term 'Add-Migration' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

最佳答案

您需要确保模块已加载。因为这是来自该控制台窗口的 VS 环境的一部分,所以默认情况下它会加载一些不同的模块。您可以通过在 VS 中打开控制台来解决此问题,然后使用

PS ~/> $path = (Get-Module -Name EntityFrameworkCore).Path

对我来说,这解决了:
PS ~/> $path

C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore.tools\2.1.1\tools\EntityFrameworkCore.psm1

因此,您可以采用该路径并将其导入常规的 powershell 窗口:
PS ~/> Import-Module -Name $path

但是在查看文件夹(令人讨厌地不符合标准)之后,它还有一个模块 list 文件( .psd1 ),这是您应该导入的:
PS ~/> Set-Location -Path 'C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore.tools\2.1.1\tools'
PS /Program Files/dotnet/sdk/NuGetFallbackFolder/microsoft.entityframeworkcore.tools/2.1.1/tools/> Import-Module -Name EntityFrameworkCore.psd1

脚注:这是我的 VS 安装初始化其控制台的方式:
Import-Module 'C:\PROGRAM FILES (X86)\MICROSOFT VISUAL STUDIO\2017\ENTERPRISE\COMMON7\IDE\COMMONEXTENSIONS\MICROSOFT\NUGET\Modules\NuGet\NuGet.psd1'
$__pc_args=@(); $input|%{$__pc_args+=$_}; & 'C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore.tools\2.1.1\tools\init.ps1' $__pc_args[0] $__pc_args[1] $__pc_args[2]; Remove-Variable __pc_args -Scope 0

关于powershell - PowerShell 中的 EF6 添加迁移,在 Visual Studio 之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56061740/

相关文章:

azure - 将 Blob 存储 key 更新到应用程序

powershell - 在 PowerShell 脚本中调用其他 PowerShell 脚本

powershell - 将键值对列表转换为哈希表

c# - ASPNet Entity Framework 6 - EF6,在同一工作单元中混合异步和同步

c# - Entity Framework 5 迁移与数据迁移

powershell - 创建运行批处理文件的快捷方式

c# - 如何优化此 Linq 查询以查找过去 24 小时内浏览次数最多的博客文章

entity-framework - 如何更改多对多表关系的命名约定?

entity-framework - Entity Framework Core 2.0 - 逐步运行迁移

angularjs - 如何使用 Angular js中的服务和 Controller 显示模型类中的第一项