IT评测·应用市场-qidao123.com
标题:
C# | EF框架 | 查询表格时陈诉表格不存在
[打印本页]
作者:
羊蹓狼
时间:
2025-3-7 20:34
标题:
C# | EF框架 | 查询表格时陈诉表格不存在
1. 题目分析
错误形貌
当 EF Core 尝试查询 Users 表时,SQLite 陈诉该表不存在。
这通常是由于:
数据库迁移未精确应用。
数据库文件路径不精确,EF Core 使用了空的 SQLite 文件。
数据库文件被手动删除或覆盖。
2. 解决方案
步调 1:检查数据库文件路径
确保 appsettings.json 中的毗连字符串指向精确的 SQLite 文件路径。例如:
"ConnectionStrings": {
"DefaultConnection": "Data Source=app.db"
}
复制代码
如果路径不精确,EF Core 大概会创建一个新的空数据库文件。
确保项目目次下存在 app.db 文件。
步调 2:验证迁移是否已应用
检查迁移历史
打开 SQLite 数据库文件(使用工具如 DB Browser for SQLite),查看 __EFMigrationsHistory 表是否存在,并确认此中包含已应用的迁移记录。
重新应用迁移
如果迁移未精确应用,可以尝试以下下令:
dotnet ef database update
复制代码
清算并重新生成数据库
如果上述方法无效,可以清算现有数据库并重新生成:
删除 SQLite 数据库文件
删除项目目次下的 app.db 文件:
rm app.db # Linux/MacOS
del app.db # Windows
复制代码
移除现有迁移
删除现有的迁移文件(位于 Migrations 文件夹中):
dotnet ef migrations remove
复制代码
如果迁移文件已被手动删除,跳过此步调。
添加新迁移
创建新的迁移以反映当前模型:
dotnet ef migrations add InitialCreate
复制代码
更新数据库
应用新迁移以生成数据库和表:
dotnet ef database update
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4