1

我在玩 Rob Connery 的 Massive.Sqlite 并且在调用 Prototype 属性时遇到问题:get the schema base on this SQL sentence

SELECT * FROM sqlite_master WHERE type = 'table' and name = @0

其中@0 是表的名称。现在,使用该查询的结果,它尝试使用数据库的默认值创建一个 Expando 集,并尝试访问名为COLUMN_NAME的集合中的一个属性,该属性在集合中不存在(列有:类型,名称、tbl_name、rootpage、sql)。

所以我认为我可以使用 SQLite Pragma 修复它:

PRAGMA table_info('table_name');

但这也不起作用,这一次是因为执行 pragma 时我没有得到任何结果。

有什么我想念的吗?我必须激活连接字符串中的编译指示吗?有没有更好的方法来解决这个问题?

或者,也许我只是面临错误解决方案的问题。

感谢您的回答!

技术说明:

  • 使用来自 Nuget 的 System.Data.SQLite 版本 1.0.66.0
4

1 回答 1

0

你是对的,Sqlite Schema 检测在 Massive 中被破坏了。它已在 github issue#86上报告,但尚未应用修复。

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

于 2012-01-11T06:04:02.107 回答