.net - 如何使用 .NET 4.6.1 导出到 EF Core 1.1 中的脚本

标签 .net .net-core entity-framework-core entity-framework-migrations

最初,我对 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/

相关文章:

c# - 实现动态对象从LINQ to XML select查询的捷径?

c# - 偶尔错误: The type 'HttpRequestMessage' is defined in an assembly that is not referenced

.net-core - 尝试在 Linux 上运行 netcore 应用程序时出现无效的 runtimeconfig.json 错误

c# - Linux 上的 .net 核心日期格式

c# - 为非主键属性配置一对多外键

.net - 在 .NET 中管理数据库连接的最佳实践是什么?

c# - 如何逐一生成IEnumerable的元素

asp.net-core - ASP.NET Core 2.2 中的路由本地化

.net-core - 是否有任何理由使用 SaveChangesInterceptor 而不是覆盖 OnBeforeSaveChanges 和 OnAfterSaveChanges?

c# - DbContextOptionsBuilder 找不到 ASP.NET Core 1.1 Web API 项目