Massive.Sqlite.cs - Prototipo fallisce perché non c'è COLUMN_NAME; Fissare utilizzando PRAGMA table_info?
Domanda
I dover giocare con Massive.Sqlite di Rob Connery e ho un problema quando la proprietà prototipo si chiama: ottiene la base dello schema su questa frase SQL
SELECT * FROM sqlite_master WHERE type = 'table' and name = @0
Dove @ 0 è il nome della tabella. Ora, utilizzando i risultati di quella query si cerca di creare un Expando set con le impostazioni predefinite del DB e, per farlo, cerca di accedere a una proprietà nel set denominato COLUMN_NAME , che non lo fanno esiste nel set ( le colonne ci sono: tipo, nome, nome_tabella, rootpage, sql)
.Così ho pensato che avrei potuto risolvere il problema utilizzando uno SQLite Pragma:
PRAGMA table_info('table_name');
Ma che non ha funzionato né, questa volta perché ho non ha prodotto risultati , quando viene eseguito il pragma.
C'è qualcosa che mi manca? Devo attiva il pragma nella stringa di connessione? C'è un modo migliore per risolvere questo problema?
O forse sto solo affrontando il problema con la soluzione sbagliata.
Grazie per le vostre risposte!
Note tecniche:
- Uso System.Data.SQLite versione 1.0.66.0 da Nuget
Soluzione
Hai ragione, la rilevazione Sqlite schema è spezzato in Massive. E 'già riferito su github numero # 86 ma non è stata applicata la correzione.
Ho appena creato una richiesta di pull con la correzione: https://github.com/ robconery / massiccia / tirare / 122 è possibile ottenere il codice da lì o dalla principale enorme repository dopo che è fusa.