如何从数据库仅脚手架生成单个Schema的C#模型及报错解决
问题根源
你遇到的报错是EF Core相关依赖包版本不匹配导致的:错误日志中提示加载Microsoft.EntityFrameworkCore.Internal.ProductInfo类失败,本质是项目中引用的不同EF Core组件版本不一致,内部API不兼容导致调用失败。你当前使用的EF Core基础包版本是3.1.10,只要对齐所有相关包的版本即可解决。
解决步骤
- 第一步:核对项目中所有EF Core相关包的版本,确保
Microsoft.EntityFrameworkCore、Microsoft.EntityFrameworkCore.SqlServer、Microsoft.EntityFrameworkCore.Tools三个核心包的版本完全一致,统一对齐到3.1.10或者升级到同一个更高的LTS版本(如6.0.x、8.0.x)即可。 - 第二步:删除项目根目录下的
bin、obj缓存文件夹,重新生成项目确认无编译错误。 - 第三步:重新执行你原来的Scaffold命令即可,你的命令本身语法是正确的,只生成dbo架构模型的参数配置没有问题。
补充说明
- 如果你使用.NET CLI执行脚手架命令,还要保证全局安装的
dotnet-ef工具版本和项目EF Core包版本一致,可执行dotnet tool update --global dotnet-ef --version <你项目的EF Core版本号>对齐版本。 - 如果需要覆盖已存在的模型文件,可在原命令末尾添加
-Force参数。
内容的提问来源于stack exchange,提问作者Alex Gordon
相关产品推荐
相关产品推荐

