Massive.Sqlite.cs——原型失败,因为没有COLUMN_NAME;使用PRAGMA table_info修
本文关键字:NAME 使用 table info COLUMN PRAGMA 原型 cs Sqlite 失败 因为 | 更新日期: 2023-09-27 18:19:51
我一直在玩Rob Connery的Massive.Sqlite,当调用Prototype属性时,我遇到了一个问题:基于这个SQL语句获取模式
SELECT * FROM sqlite_master WHERE type = 'table' and name = @0
其中@0是表的名称。现在,使用该查询的结果,它尝试创建一个具有DB默认值的Expando集,并尝试访问名为COLUMN_NAME的集中不存在的属性(其中的列有:type、NAME、tbl_NAME、rootpage、sql)。
所以我想我可以使用SQLite Pragma:来修复它
PRAGMA table_info('table_name');
但这也不起作用,这一次是因为在执行pragma时,我得到没有结果。
我有什么东西不见了吗?我必须激活连接字符串中的杂注吗?有更好的方法来解决这个问题吗?
或者,也许我只是用错误的解决方案来面对这个问题。
谢谢你的回答!
技术说明:
- 使用Nuget中的System.Data.SQLite 1.0.66.0版本
你是对的,Sqlite Schema检测在Massive中被破坏了。已经有关于github问题#86的报道,但尚未应用该修复程序。
我刚刚创建了一个带有修复程序的拉取请求:https://github.com/robconery/massive/pull/122您可以从那里获取代码,也可以在合并后从大型主存储库中获取代码。