背景:スレッドSQL CEデータベースに安全にアクセスする方法
私のWindows Phoneプロジェクトでは、私は日付を格納するためにローカルSQL CEデータベースを使用します。プログラムでLINQ to SQLを使用してデータベーステーブルを作成します。
このデータベースは、複数のスレッドのさまざまなdatacontextインスタンスを通じてアクセスされます。
私はすべてのデータを消去し、ログアウトする私のアプリのユーザーに選択肢を与える:
は、ここで問題です。ユーザーがこれを選択すると、datacontextのDeleteDatabaseメソッドを使用してデータベースを削除します。しかし、私はいつもデータベースが別のプロセスで使用されているというエラーを受け取り、削除できません。
正しい方向のナッジが私の一日になります。
DBの削除を呼び出すと、接続はまだ開いていますか? DBにアクセスして他の何かにアクセスできないプロセスが最も好きです。 –
私は知っているすべての接続を閉じたことが分かりました。データベースを使用しているプロセスを取得して終了させる方法はありますか? – andy
DataContextのすべてのインスタンスを、ステートメントやDisposeを使用して折り返しますか? – ErikEJ