使用EF的模型迁移功能,创建模型后打开PMC,输入 Add-Migration 创建新的迁移,会报如下错误:
PM> Add-Migration InitialCreate
Add-Migration : 无法将“Add-Migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ Add-Migration InitialCreate
+ ~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Add-Migration:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
解决办法如下:
在 PMC 中安装 Microsoft.EntityFrameworkCore.Tools 包,再次执行就可以了。
Install-Package Microsoft.EntityFrameworkCore.Tools
问题产生原因:
ASP.NET Core 2.1以上的版本中,Microsoft.EntityFrameworkCore.Tools包包含在Microsoft.AspNetCore.App 元包。
而 ASP.NET Core 2.1 以下的版本中需要手动引用 Microsoft.EntityFrameworkCore.Tools包。
参考微软官方说明:
https://docs.microsoft.com/zh-cn/ef/core/miscellaneous/cli/powershell