.NET6 WinForm项目SQLServerCompact EF模型生成报错求助
SQL Server Compact + EF Core 6 逆向工程报错解决建议
1. 替换弃用的驱动包
EntityFrameworkCore.SqlServerCompact40已停止维护,针对.NET6项目,必须替换为当前仍在维护的EFCore.SqlServerCompact包:
- 先卸载旧包:
Uninstall-Package EntityFrameworkCore.SqlServerCompact40 - 安装适配.NET6的稳定版本:
Install-Package EFCore.SqlServerCompact -Version 6.0.25
2. 修正逆向工程命令
把原命令里的-Provider参数改为新包的名称,调整后的完整命令:
Scaffold-DbContext -Connection "Data Source= C:\temp\TestModelEFCore\TestModelEFCore\dbsqlcompact\gsdata.sdf;" -Provider EFCore.SqlServerCompact -OutputDir dbsqlcompact/Entities -ContextDir DatabaseModel -Context MyContext -UseDatabaseNames -f -Verbose
注意:连接字符串里的路径如果有多余空格可以适当调整,避免解析问题。
3. 配套环境检查
- 确认项目安装了同版本的
Microsoft.EntityFrameworkCore.Tools工具包,版本要和EFCore.SqlServerCompact保持一致(都是6.x系列),缺失的话执行:Install-Package Microsoft.EntityFrameworkCore.Tools -Version 6.0.25 - 保证项目目标框架是.NET6.0,不要混合其他版本的EF Core相关包,避免版本冲突。
- SQL Server Compact 4.0的.sdf文件无需转换,新驱动完全兼容该格式。
内容的提问来源于stack exchange,提问作者Tostone
相关产品推荐
相关产品推荐

