2010-12-17 8 views
2

SQLサーバー上で実行されるデータベースクエリ(およびSQLデバッガを使用する実際のlinqクエリhttp://weblogs.asp.net/scottgu/archive/2007/07/31/linq-to-sql-debug-visualizer.aspx) は正しいデータを表示します。 戻されたオブジェクトに古いデータが表示されます。 どうすれば削除できますか? どちらも同じ従業員番号を持つ2つの職員レコードの可能性は、したがってあなたが要求ごとのDataContextを作成し、破壊しなければならない1次回の代わり.SingleLINQ to SQLキャッシングを停止します

+0

VS2008とブラウザをシャットダウンしてクリアする必要があるようです。 – JohnnyBizzle

+0

タスクマネージャの自分のPCでaspnetワーカープロセスを強制終了すると、キャッシュがクリアされます。 – JohnnyBizzle

+0

この選択を実行する前にコンテキストオブジェクト(あなたの場合はdb変数)を作成するか、どこかに保存して再利用しますか? – Vedran

答えて

1

を使用して、ある選択

 Dim s As New StaffRecord 
     Dim q = From staff As StaffRecord In db.StaffRecords _ 
       Where staff.Employee_Number = u.AssignmentNo _ 
       Select staff 
     s = q.First 

を行っています。このパターン用に設計されており、すばやく作成し、失効したデータを防止します。