有一個查詢db的Linq語法,在資料刪除及新增時,使用以下語法都可以得到最新的資料
Dim irt = From p In db.Items_Raw_Type _
Where p.irt_Type.ToUpper = irt_Type.ToUpper _
Order By p.irt_Name Ascending _
Select p
可是當更新完UPDATE時從irt得到的資料居然是一樣
可是開啟SQL PROFILE明明看到有要求連線DB返回的資料也是最新的
這明明就是LINQ自動Cache了吧~
設定中斷點之後,真的是沒有被Update
後來求救Google大神
Dim irt = From p In db.Items_Raw_Type _
Where p.irt_Type.ToUpper = irt_Type.ToUpper _
Order By p.irt_Name Ascending _
Select p
db.Refresh(Data.Linq.RefreshMode.OverwriteCurrentValues, irt)
只要加上一行!得到的結果就會正確了db.Refresh(Data.Linq.RefreshMode.OverwriteCurrentValues, irt)
Case close
分享使用微軟開發工具及工作上會遇到的疑難雜症
2011-06-08
Linq DataClasses Cache問題
訂閱:
張貼留言 (Atom)
0 comments:
張貼留言