massive.sqlite.cs - column_nameがないため、プロトタイプは失敗します。 pragma table_infoの使用を修正しますか?
質問
Rob Connery's Massive.sqliteと遊んでいますが、プロトタイプのプロパティが呼び出されたときに問題があります。このSQL文でスキーマベースを取得します
SELECT * FROM sqlite_master WHERE type = 'table' and name = @0
ここで、 @0はテーブルの名前です。次に、そのクエリの結果を使用して、DBのデフォルトで拡張セットを作成しようとします。 column_name セットには存在しません(タイプ、名前、tbl_name、rootpage、sqlの列があります)。
だから私はSQLite Pragmaを使用してそれを修正できると思った:
PRAGMA table_info('table_name');
しかし、それもうまくいきませんでした、今回は私が得るので 結果がありません プラグマが実行されるとき。
私が足りないものはありますか?接続文字列でプラグマを活性化する必要がありますか?これを解決するためのより良い方法はありますか?
あるいは、間違った解決策で問題に直面しているだけかもしれません。
答えをありがとう!
技術的なメモ:
- System.data.sqliteバージョン1.0.66.0をNugetから使用します
解決
あなたは正しいです、SQLiteスキーマ検出は大規模なもので壊れています。 Githubですでに報告されています 問題#86 しかし、修正は適用されていません。
修正を使用してプルリクエストを作成したばかりです。 https://github.com/robconery/massive/pull/122 そこからまたはメインからコードを取得できます 巨大なリポジトリ マージされた後。
所属していません StackOverflow