なぜこれが起こり始めたのかはわかりませんが、データベースから読み取っているエンティティに、以前にストアド プロシージャから更新された新しい値が含まれていないという状況があります。ストアド プロシージャが更新を行った後、データベースの変更を確認し、UnitOfWork.Commit を呼び出して他の変更を保存します。このアイテムを再度取得するために呼び出しを行うと思いますが、値がデータベース内の値と同じではありません。これには何か理由がありますか?更新前にこのアイテムを取得していないため、更新後に初めて取得したときに EF がそれをどのように認識しているかわかりません。
2 に答える
0
EF 呼び出しの前に項目が更新されるように、いくつかのロジックを移動しました。
于 2013-07-26T04:45:47.663 に答える
0
Entity Framework が何らかの方法でこれらの値をキャッシュしていると思います。メソッドを使用して、Refresh()
Entity Framework を強制的にデータ ストアに戻して、RefreshMode.StoreWins
データ ストアの値が確実に得られるようにします。
于 2013-07-19T20:29:40.133 に答える