2014-07-21 12 views
6

Sto scrivendo un personalizzato PRAGMA al mio file db SQLite usando il codice seguente:Come posso leggere PRAGMA da SQLite usando ServiceStack OrmLite?

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

    db.ExecuteSql(query); 
} 

che scrive con successo la PRAGMA per il file e posso controllare che l'utilizzo di SQLite Expert o LINQPad eseguendo:

PRAGMA user_version 

Ma come posso leggere il valore di PRAGMA dal file DB utilizzando OrmLite v3.9.71?

Ho provato il sotto, ma non riesce a analizzare il codice SQL in quanto non riesce a trovare un "DA":

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

Ho anche provato il seguito, nessuno di loro lavoro:

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

Qualche idea?

risposta

7

db.Select<T> è per il recupero di un elenco di righe.

db.Single<T> è quello di recuperare una singola riga mentre

db.Scalar<T> è quello di recuperare un singolo valore di colonna.

Quindi, per recuperare un singolo valore intero è possibile utilizzare:

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

@ mythz- Eccellente! come sempre grazie per la pronta risposta. – MaYaN