如何通过Entity Framework 6脚手架创建模型类?命令执行失败求助
问题解决:EF6数据库优先模式生成模型类报错
你遇到的问题根源是混淆了Entity Framework 6(EF6)和EF Core的工具链:dotnet ef是EF Core专属的CLI命令工具,EF6并不支持这套命令,所以才会出现"找不到指定命令"的错误。
针对EF6的数据库优先模式,有两种可靠的方式生成模型类:
方式一:使用Visual Studio实体数据模型向导
- 右键你的Asp.Net Web API项目 → 选择「添加」→「新建项」
- 在模板中找到「数据」分类,选择「ADO.NET实体数据模型」,命名后点击确定
- 选择「来自数据库的EF设计器」,点击下一步
- 配置你的SQL Server连接字符串(和你使用的
Integrated Security=SSPI;Initial Catalog=EmployeeDB;Data Source=XYZ;一致),测试连接通过后点击下一步 - 选择要生成模型的数据库表,设置模型命名空间,最后点击完成,模型类会自动生成到项目中(可手动调整到Models文件夹)
方式二:使用Package Manager Console的PowerShell命令
- 打开Visual Studio的「工具」→「NuGet包管理器」→「包管理器控制台」
- 确保你的项目已安装EF6包:
Install-Package EntityFramework - 执行以下命令生成模型到Models文件夹:
Scaffold-DbContext "Integrated Security=SSPI;Initial Catalog=EmployeeDB;Data Source=XYZ;" EntityFramework.SqlServer -OutputDir Models
注意:EF6和EF Core的工具、API差异较大,不要混用两者的命令或依赖包。
内容的提问来源于stack exchange,提问作者user466663
相关产品推荐
相关产品推荐

