このエラーは、(テーブルデザイナで)エンティティのプロパティに加えた変更により、公開されたデータベース内のエンティティのテーブルが削除および再作成され、テーブルにデータが含まれている場合に発生します。これはSQLServerの動作方法であり、LightSwitchの制御下にはありません。ただし、LightSwitchは注意が必要です。また、データが失われる可能性のある操作は許可されていません。
これを引き起こす可能性のあるものの種類は次のとおりです。
- プロパティの名前を変更する
- 必須から不要に変更するなど
- プロパティのデータ型を変更する
- &(私が正しく覚えていれば)プロパティのリスト内のプロパティの位置を変更することさえ
ただし、テーブルの削除と再作成をトリガーせずに、プロパティのリストの最後にプロパティを追加することはできます。
あなたが提案するまさにその理由のために、アプリケーションを公開しようとする前にあまりにも多くの変更を加えることは本当に良い考えではありません-あなたが何をしたのかわからなくなってしまいます。特に、エンティティのプロパティに変更を加えた後に公開する必要があります。開発マシン上のローカルSQLServerインスタンス(SQL Expressを含む)に公開する場合でも、運用サーバーに公開する前に変更を「テスト」します。
これを回避する方法(以前はLSの組み込みデータであるApplicationDataを使用していましたが、現在は添付のデータソースを使用しています)は、SSMS(SQL)などを使用してデータベース自体の列に手動で変更を加えることです。 Server Management Studio)。次に、(潜在的な)データ損失を許可することを決定できます。変更内容には十分注意してください。また、LightSwitchのプロパティに加えた変更と同じであることを確認してください。もちろん、データベースに変更を加える前に、データベースをバックアップしてください。データベースをLightSwitchと同期させない場合、大きな問題が発生します。