資料庫查詢結果異動時,連線已經關閉的解決方法

  • 555
  • 0

資料庫查詢結果異動時,連線已經關閉的解決方法

基本上,資料庫的連線會一直保持開啟的狀態,直至查詢的結果被使用。

第一、倘若在資料庫的連線關閉之後,依舊想要使用查詢的結果,可以使用ToList<TSource>將查詢結果快取。

第二、通常物件僅被處理一次。

換而言之,當查詢結果並未被快取,又經過二次以上的處理,必須將Multiple Active Result Sets開啟,方能夠在單一的連線上進行多個批次的資料異動,但是MARS並不是同步處理多個作業的機制。

 

參考資料:

[1]Frequently Asked Questions
http://msdn.microsoft.com/en-us/library/bb386929(v=vs.110).aspx

[2]Multiple Active Result Sets (MARS)
http://msdn.microsoft.com/en-us/library/cfa084cz(v=vs.110).aspx

[3]What is late binding?
http://blogs.msdn.com/b/davidklinems/archive/2006/11/27/what-is-late-binding.aspx