0

これが私の側からのセットアップの問題なのかバグなのかはわかりませんが、本当に奇妙な問題に直面しています。

VS2010WinformsプロジェクトでSQLServerCE4.0に対して開発しています。そのようにプロジェクトに保管されています

ここに画像の説明を入力してください

奇妙な理由で、アプリケーションで例外が発生したり、データベースのスキーマを更新したりすると、すべてのテストデータが失われます。1つのテーブルだけでなく、すべてのテーブル、スキーマオブジェクトを除くデータベース全体。

モデルなどからデータベースを再生成するために何もしていないことを忘れないでください。すべてのデータを削除するだけで、現在は完全に再現することさえできません。完全に予測不可能。データが削除された後も、スキーマはそのまま残ります。

誰か助けてもらえますか?

4

2 に答える 2

0

さて、私は解決策を見つけました-私は非常に愚かですが、他の人がこれと同じ間違いを犯す可能性があると思うので、ここに行きます-

接続文字列を|DataDirectory| \ LocalDB.sdfとして使用していて、プロジェクトディレクトリから取得することを期待していました。代わりに、デバッグフォルダから取得することがわかりました。私がそれを知っているので、今は理にかなっています。

したがって、スキーマを更新するたびに、元のデータベースが変更され、デバッグフォルダーにあるLocalDBが置き換えられます。プロジェクトのデータベースにはデータが含まれていなかったため、以前は空のデータベースを不必要に取得していました。

于 2011-05-17T16:44:46.703 に答える
0

実際には、SQL Server CEデータベース(スキーマなど)を変更すると、アプリケーション内のデータベースが新しいコピーに置き換えられます。sqlserver ceのデータベースに、アプリケーション内のデータベースとは異なるデータセットがある場合、アプリケーション内の以前のデータは失われます。

于 2012-03-22T21:08:01.027 に答える