最初,我对 EF Core 1.1 使用 .NET 4.X 的旧命令感到困惑/惊讶,但我在这些示例 ( https://learn.microsoft.com/en-us/ef/core/get-started/aspnetcore/new-db ) 中找到了它,并且可以很好地使用这些熟悉的命令。
现在我有一个使用 EFCore 1.1 构建的数据库并且正在运行,命令非常适合迁移等。
现在是时候推出到生产环境了,我需要生成脚本以提供给处理部署到环境的人员。我现在意识到 -Script 标志不可用,因此我尝试恢复到“dotnet ef”命令并收到“dotnet-ef”未找到错误。
经过进一步调查,我似乎需要升级到 Microsoft.EntityFrameworkCore.Tools.DotNet。我尝试这样做,只是收到此错误“包'Microsoft.EntityFrameworkCore.Tools.DotNet 1.1.0-preview4-final'使用当前版本的 NuGet 不支持的功能。”。我没有看到任何可以通过扩展和更新进行的升级,所以我只能假设有一个预发布版本,或者这仅适用于 VS2017(我已经被烧伤太多次,转向未发布的 VS 版本,所以暂时搁置)。
我注意到 nuget 认为 Microsoft.EntityFrameworkCore.Tools 1.1.0-preview4-final 是最新版本,但根据日期我可以看出 1.1.0-msbuild3-final 是最新版本。我转向了该版本,只需忽略 nuget 包管理器希望我“升级”到旧版本即可。
仍然无法生成 SQL 脚本。对于我如何到达这里的冗长细节感到抱歉,但我仍然无法为我的 EF Core 数据库生成脚本,而且这并非没有努力。
回到最初的问题,如何使用 .NET 4.6.1 导出到 EF Core 1.1 中的脚本?
非常感谢任何帮助!
最佳答案
另一个堆栈溢出问题( https://stackoverflow.com/a/38725740/1362146 )的答案引导我走向正确的方向。
来自https://learn.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell我能够识别脚本迁移命令。当不同版本/组合有如此多不同的示例并且事情变化如此频繁时,很难筛选所有内容。
关于.net - 如何使用 .NET 4.6.1 导出到 EF Core 1.1 中的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42150208/