使用 Entity Framework 核心的 .NET 5.0 中的代码生成问题
Issue with code generation in .NET 5.0 with Entity Framework Core
我在使用 Entity Framework Core 在 .NET 5.0 中创建 API 控制器时遇到问题。
这是我正在做的事情:
- 我正在使用 .NET 5.0
- 安装了 Entity Framework 核心包并且所有 3 个都有 5.0 版本
模型和 DataContext classes 已经创建,使用它们之前已经在数据库中创建了一个 table
但是当我右键单击 API 项目时,单击 Controller > Select “API Controller with actions,使用Entity Framework" > Select "Model Class" & "DataContext class" > 输入控制器名称
我一直收到错误消息
There was an error running the selected code generator: Package restore failed. Rolling back the changes for API
已完成故障排除:
- 在工具 > 选项 > NuGet 包管理器 > 清除所有 NuGet 缓存中清除了 NuGet 缓存
- 确保 Entity Framework 核心包和 .net 版本在 .csproj
中相同
我在这里遗漏了什么导致了这个问题?
如果您安装了最新版本的 Microsoft.VisualStudio.Web.CodeGeneration.Design
软件包,您可能安装了 5.0.2
版本。该包无法根据版本 5.0.0
.
的 Entity Framework 核心包生成代码
根据我的经验 - 要生成基于 EF Core 的代码,Design
包的版本应等于或低于 EF Core
包的版本。因此,您需要升级 EF Core
软件包,或者安装 Design
软件包的版本 5.0.0
。
编辑:
我遇到了同样的问题,在升级 EF Core
软件包(当前为 5.0.4
并安装最新的 Design
软件包(当前为 5.0.2
)后问题得到解决。
就我而言,要生成基于 EF 核心的代码,我需要安装 5.0.13 版本 Microsoft.EntityFrameworkCore 和Microsoft.EntityFrameworkCore.SqlServer 和 Microsoft.EntityFrameworkCore.Tools 版本 5.0.12
以及 Microsoft.VisualStudio.Web.CodeGeneration.Design
的版本 5.0.2
注意:- 确保清除 Nuget 缓存
我在使用 Entity Framework Core 在 .NET 5.0 中创建 API 控制器时遇到问题。
这是我正在做的事情:
- 我正在使用 .NET 5.0
- 安装了 Entity Framework 核心包并且所有 3 个都有 5.0 版本
模型和 DataContext classes 已经创建,使用它们之前已经在数据库中创建了一个 table
但是当我右键单击 API 项目时,单击 Controller > Select “API Controller with actions,使用Entity Framework" > Select "Model Class" & "DataContext class" > 输入控制器名称
我一直收到错误消息
There was an error running the selected code generator: Package restore failed. Rolling back the changes for API
已完成故障排除:
- 在工具 > 选项 > NuGet 包管理器 > 清除所有 NuGet 缓存中清除了 NuGet 缓存
- 确保 Entity Framework 核心包和 .net 版本在 .csproj 中相同
我在这里遗漏了什么导致了这个问题?
如果您安装了最新版本的 Microsoft.VisualStudio.Web.CodeGeneration.Design
软件包,您可能安装了 5.0.2
版本。该包无法根据版本 5.0.0
.
根据我的经验 - 要生成基于 EF Core 的代码,Design
包的版本应等于或低于 EF Core
包的版本。因此,您需要升级 EF Core
软件包,或者安装 Design
软件包的版本 5.0.0
。
编辑:
我遇到了同样的问题,在升级 EF Core
软件包(当前为 5.0.4
并安装最新的 Design
软件包(当前为 5.0.2
)后问题得到解决。
就我而言,要生成基于 EF 核心的代码,我需要安装 5.0.13 版本 Microsoft.EntityFrameworkCore 和Microsoft.EntityFrameworkCore.SqlServer 和 Microsoft.EntityFrameworkCore.Tools 版本 5.0.12 以及 Microsoft.VisualStudio.Web.CodeGeneration.Design
的版本 5.0.2注意:- 确保清除 Nuget 缓存