私の同僚は、更新を元に戻す際に非常に問題がありました。私たちが行った更新は、プロパティを追加し、このプロパティのドキュメント固有の値をすべてのドキュメントに追加することでした。 SaveConfiguration()を呼び出し、変更がRaven Studioで行われたことを確認しました。しばらくして、いくつかの書類が新しい財産を失った。
私はロギングをオンにして、ログを開始するためにNLog.configファイルを追加することにしました。私はweb.configに触れました。これはもちろん、アプリケーションを再起動し、 "voila"、Raven Studioにアップデートが再び登場しました。
しばらくしてRaven Studioから消えてしまったので、これはスタジオの問題だと思っていました。したがって、テストコントローラのデータベースからオブジェクトを取得しようとしましたが、残念ながらオブジェクトにはプロパティ値が不足していました。スタジオの問題だけではありませんでした。
ロギングをオンにして、特定のタイプのドキュメントを再度更新し、ログとスタジオに基づいてドキュメントを実際に更新しました。その後もドキュメントは失われて元に戻りました(私の同僚はこの時点で泣き始めました)。
その後、私たちのライブWebアプリケーションはまだ古いオブジェクトのバージョン。 Webアプリケーションで読み込まれたとき、追加のプロパティなしでデータが返されました。このため、DocumentSessionはオブジェクトが変更されたと思っていたようです(Save)。そのため、SaveChangesを呼び出すと、これらのオブジェクトも追加プロパティなしでデータベースに書き込まれました。
私の結論は正しいですか?この問題の解決策は何ですか?私はCQRSを考えています。なぜなら、DocumentSessionに "SaveChanges()"を呼び出すことは決してないからです。
ありがとうございましたDaniel - 低頻度のスケジュールとして「インデックスの再構築」が行われている可能性があると私は考えていました。これは正しいと思ったデータを見ていたときに、日は「正しい」データでした。しかし、これでも意味をなさない。私はそれを注意深く見守ります。ありがとう – Adam