質問

最近、ステートマシンの現在の状態を保存するためにdevとtestで(標準バージョンの代わりに)SQL Express 2008の使用を開始したイベント駆動型アプリがあります。 SQL Expressに移行した後、データベースに書き込む順序(LINQ to SQLを使用)と SQL Express Profiler は、データベースに入るデータを報告します。

Log4Netを使用してデータを記録します。ログエントリは、着信イベントが正しい順序で発生したことを示し、正しい順序で処理する必要があります 。また、SQL Expressのプロファイリング時に、データが順不同で書き込まれていることがわかりました。結果は、後続のイベントが入ったとき(LINQデータコンテキストで SubmitChanges()を呼び出してから約500ms)、DBの書き込みが(まだ?)コミットされていないため、状態モデルは無効な状態であり、適切に移行しないでください。最終結果はカオスです。

それが価値があることについては、SQL Server 2008 Standardにはこれが表示されないので、これがSQL Expressの問題かどうか疑問に思っています。これと同様の問題を見ましたか?

プロファイラーの問題ではないと想定しています。これは、実際にはいくつかの状態遷移に伴う遷移の問題があるため、プロファイラーは観測結果と一致しているように見えるためです。

よろしく、

アンドリューマシューズ

役に立ちましたか?

解決

正しい順序で処理したと言うとき、LINQ to SQLに何かを行うように指示した順序ですか?その理由は、LINQ to SQLが内部的に操作を並べ替えるためです。

何をログに記録していますか? LINQ to SQLデータコンテキストログプロパティ?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top