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

时间:2012-01-10 17:05:22

标签: c# sqlite orm massive

我正在玩Rob Connery的Massive.Sqlite并且在调用Prototype属性时遇到问题:获取此SQL语句的架构

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

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

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

PRAGMA table_info('table_name');

但这也没有用,这次是因为当pragma执行时我得到没有结果

我有什么遗失的吗?我是否必须在连接字符串中激活pragma?有没有更好的方法来解决这个问题?

或许我只是面对错误解决方案的问题。

感谢您的回答!

技术说明:

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

1 个答案:

答案 0 :(得分:0)

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

我刚刚使用修复程序创建了一个拉取请求:https://github.com/robconery/massive/pull/122您可以从那里获取代码,或者在合并后从主massive repository获取代码。