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版本

Massive.Sqlite.cs——原型失败,因为没有COLUMN_NAME;使用PRAGMA table_info修

你是对的,Sqlite Schema检测在Massive中被破坏了。已经有关于github问题#86的报道,但尚未应用该修复程序。

我刚刚创建了一个带有修复程序的拉取请求:https://github.com/robconery/massive/pull/122您可以从那里获取代码,也可以在合并后从大型主存储库中获取代码。