代码之家  ›  专栏  ›  技术社区  ›  MaYaN

如何使用ServiceStack OrmLite从SQLite读取PRAGMA?

  •  6
  • MaYaN  · 技术社区  · 10 年前

    我正在使用以下代码将自定义PRAGMA写入SQLite数据库文件:

    using (var db = GetNewConnection())
    {
        var version = "1234";
        var query = string.Format("PRAGMA user_version={0}", version);
    
        db.ExecuteSql(query);
    }
    

    它成功地将PRAGMA写入文件,我可以使用SQLite Expert或LINQPad执行以下操作来检查:

    PRAGMA user_version
    

    但是,如何使用OrmLite v3.9.71从DB文件中读取PRAGMA的值?

    我尝试了以下方法,但它无法解析SQL,因为它找不到“FROM”:

    db.Select<object>("PRAGMA user_version");
    

    我也尝试过以下方法,但都不起作用:

    db.Select<dynamic>("PRAGMA user_version");
    db.Select<string>("PRAGMA user_version");
    db.Select<int>("PRAGMA user_version");
    

    有什么想法吗?

    1 回复  |  直到 10 年前
        1
  •  7
  •   mythz    10 年前

    db.Select<T> 用于检索行列表。

    db.Single<T> 检索单行,同时

    db.Scalar<T> 是检索单个列值。

    因此,要检索单个整数值,可以使用:

    db.Scalar<int>("PRAGMA user_version");