2014-07-21 40 views
6

我使用下面的代碼編寫自定義PRAGMA我的SQLite數據庫文件:如何使用ServiceStack OrmLite從SQLite讀取PRAGMA?

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

    db.ExecuteSql(query); 
} 

成功地寫入PRAGMA的文件,我可以檢查使用SQLite專家或LINQPad通過執行:

PRAGMA user_version 

但是,如何使用OrmLite v3.9.71從數據庫文件中讀取PRAGMA的值?

我曾嘗試以下,但它無法解析,因爲它不能找到一個「FROM」的SQL:

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

我也曾嘗試以下,他們沒有工作:

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

有沒有想法?

回答

7

db.Select<T>用於檢索行列表。

db.Single<T>是檢索單個行,而

db.Scalar<T>是檢索單個列值。

所以檢索一個整數值,您可以使用:

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

@ mythz-好極了!一如既往地感謝您的及時答覆。 – MaYaN

相關問題