ObjectDisplay私は2つの関連するテーブルで構成される ビューを持っています:ObjectとState。 Stateの状態を表し、ビューはそれぞれObjectの最新のものから詳細の一部を取得します。StateObject
この情報を表示しているページで、ユーザーはいくつかのコメントを入力できます。これにより、新しいが作成されますState。新しいを作成した後、すぐにfromをStateプルして送り返し、部分ビューにドロップして、ページのグリッドに置き換えます。ObjectObjectDisplayObject
// Add new State.
db.States.Add(new State()
{
ObjectId = objectId,
Comments = comments,
UserName = username
});
// Save the changes (executes all of the above).
db.SaveChanges();
// Return the new Object information.
return db.Objects.Single(c => c.ObjectId == objectId);
私のdbトレースによると、Single呼び出しは呼び出しの約70ミリ秒後SaveChangesに発生し、同じSPIDで発生します。
ここで問題が発生します 。データベースのデフォルト値はRecordDateinです。日付は自分で指定しませんState。GETUTCDATE()私が見ているのは、返さObjectれたものには、古いものと古いものの新しい情報のが含まれているということです。StateRecordDateStateCommentsStateStateObject返品されたものには古い情報が含ま れていることがわかりStateます。ページを更新すると、正しい情報はすべてそこにありますが、データベース/EFからの最初の呼び出しで間違った情報が返されます。
だから..何が間違っている可能性がありますか?ビューが十分に速く更新されていない可能性がありますか?EFで何かが起こっている可能性がありますか?どこから探し始めたらいいのかわからない。