如何在ASP.NET MVC中快速创建多个数据模型?
解决ASP.NET MVC中Scaffold-DbContext命令报错的方案
先确认基础依赖
首先得确保你的项目装对了必要的NuGet包:
- 安装
Microsoft.EntityFrameworkCore.SqlServer(用于SQL Server数据库适配) - 安装
Microsoft.EntityFrameworkCore.Tools(提供反向工程的脚手架命令)
可以通过NuGet包管理器界面安装,也直接在Package Manager Console里跑命令:
Install-Package Microsoft.EntityFrameworkCore.SqlServer Install-Package Microsoft.EntityFrameworkCore.Tools
修正连接字符串
把命令里的My_DB_Connection_String换成你真实的SQL Server连接字符串,举个常用格式例子:
"Server=localhost;Database=二手摩托车经销商库;Trusted_Connection=True;TrustServerCertificate=True;"
如果用的是SQL Server账号认证,要加上用户名密码:
"Server=你的服务器地址;Database=库名;User ID=账号;Password=密码;TrustServerCertificate=True;"
选对执行终端
别在普通命令行/终端里跑这个命令,必须打开Visual Studio的Package Manager Console(工具→NuGet包管理器→包管理器控制台),而且要确认控制台顶部的“默认项目”选的是你的ASP.NET MVC项目。
权限与版本匹配检查
- 本地数据库的话,确保运行Visual Studio的账号有数据库的读取权限;远程数据库要先确认网络能连通,账号有权限访问目标库。
- 检查
Microsoft.EntityFrameworkCore.Tools的版本和Microsoft.EntityFrameworkCore.SqlServer的版本是否一致,版本不匹配也会导致报错,尽量都用最新稳定版。
可选:指定生成特定表
如果不想全量生成11个表,也可以指定要生成的表,避免不必要的冲突,命令格式如下:
Scaffold-DbContext "你的连接字符串" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Tables 车辆信息表,客户表,订单表
内容的提问来源于stack exchange,提问作者DeepDish
相关产品推荐
相关产品推荐

