【问题标题】:Massive.Sqlite.cs -- Prototype fails because there is no COLUMN_NAME; Fix using PRAGMA table_info?Massive.Sqlite.cs -- 原型失败,因为没有 COLUMN_NAME;修复使用 PRAGMA table_info?
【发布时间】:2012-01-10 17:05:22
【问题描述】:

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

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

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

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

PRAGMA table_info('table_name');

但这也不起作用,这一次是因为执行 pragma 时我得到 no results。

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

或者也许我只是遇到了错误解决方案的问题。

感谢您的回答!

技术说明:

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

【问题讨论】:

    标签: c# sqlite orm massive


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-03
      • 1970-01-01
      • 2017-02-20
      • 2022-10-05
      相关资源
      最近更新 更多