2

レポートに使用しているデータベースにいくつかのストアド プロシージャを作成しました。次に、LINQ-to-SQL を使用してストアド プロシージャを DBML ファイルに取り込み、実際の C# 関数を作成しました。データ抽出は、WCF サービスを介して提供されます。

私が今抱えているジレンマは、関数からストアド プロシージャを実行し、新しいゲームの統計をアップロードしてから、ストアド プロシージャを再度実行すると (使用の間に DataContext を破棄する)、新しいゲームの統計がなかったかのように結果セットを取得することです。アップロードされていません。ただし、ストアド プロシージャをデータベースに対して直接実行すると、正しい結果セットが得られます。

私にとって、これは対処方法がわからないいくつかの可能性を示しています。

  1. サービスはストアド プロシージャの結果を何らかの形でキャッシュしていますが、DataContext を破棄しているとは思えません。
  2. どういうわけか、ストアド プロシージャは DataContext の残りの状態を無視しています
  3. まったく別のもの

私は DataContext. Refresh() が問題を解決すると考えていますが、それによるパフォーマンスの低下を回避できれば、どんな助けもいただければ幸いです。

4

0 に答える 0