1
私はsqliteデータベースを持っています。コマンドラインからdbを直接照会すると、schema_versionの結果は3078です。なぜ.NETのSQLiteスキーマバージョンが1
しかし、これを.NETで行うと、結果は常に '1'になります。ここで
は抜粋です:
public static long GetInternalSchemaVersion(this SQLiteConnection con)
{
using (var cmd = con.CreateCommand())
{
cmd.CommandText = string.Format("PRAGMA schema_version;");
DataTable results;
using (results = new DataTable())
{
using (SQLiteDataAdapter da = new SQLiteDataAdapter(cmd))
{
da.Fill(results);
return results.ToEnumerable().First().GetInt32("schema_version");
}
}
}
}
私が何か間違ったことをやっていますか?
私がうんざりしている場合は私を修正しますが、ファイルベースのものはsqlliteではありませんか?接続文字列が.NETコードと異なるファイルを指している可能性があります。そのため、同じスキーマが表示されません。 –
また、ファイルが存在しない場合、SQLiteは新しいデータベースを作成しようとします。接続文字列を表示します。 –
@CL。これはメモリにロードされた(ファイルからの)データベースです。それはバージョン情報を「リセット」しますか? – cyrus