使用Database-First创建ASP.NET Core MVC应用遇Scaffold-DbContext命令问题
问题解决指南
1. 「Scaffold-DbContext」命令未被识别的原因及修复
- 缺少SQL Server数据库提供程序:仅安装
Microsoft.EntityFrameworkCore.Design不够,还需安装Microsoft.EntityFrameworkCore.SqlServer包(适配SQL Server的EF Core提供程序)。 - 命令参数不完整:你执行的命令缺少提供程序指定参数,完整命令格式应为:
其中Scaffold-DbContext "Data Source=.\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=True;Encrypt=True;Trust Server Certificate=True" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models-OutputDir Models可选,用于指定实体类生成到项目的Models目录下。 - 确认NuGet包控制台的项目选择:确保控制台顶部的「默认项目」下拉框选中的是你的ASP.NET Core MVC项目,而非解决方案或其他项目。
2. 即时窗口执行命令报错的原因
即时窗口是用于执行C#代码片段的环境,不支持运行EF Core脚手架命令。必须在「NuGet包管理器控制台」或者使用.NET CLI命令行执行脚手架操作。
3. 找不到「Entity Data Model向导」的原因
EF Core与EF6的工具链不同,Visual Studio中并没有为EF Core提供类似EF6的可视化「Entity Data Model向导」。Database First模式下,EF Core只能通过命令行方式(NuGet控制台或.NET CLI)生成上下文类和实体类,这是正常设计。
内容的提问来源于stack exchange,提问作者user3500176
相关产品推荐
相关产品推荐

