2010-07-13 69 views
0

DataContext具有DbConnection類型的連接屬性,我想知道是否可以重新使用它。我試着用它創建一個使用CreateCommand的命令,並使用它的讀者,但我得到錯誤,說有一個未決的事務或類似的東西。我可以重用從Linq中的DataContext到Sql的連接嗎?

基本上我試圖找出是否有關於重新使用該連接對象的最佳做法或指導。

連接字符串本身並沒有真正的幫助,因爲我無法用抽象類型創建新的連接對象,也不希望代碼知道具體的提供者類型。

我正在考慮的一種替代方法是讓我的DataContext派生類型具有成員,這些成員提供了使用相同連接信息創建新連接的工廠方法。這個查詢源於需要通過DataContext調用臨時存儲過程,而不是設計時ExecuteMethodCall類型。我不知道ExecuteQuery,現在就足夠了。但對於ExecuteQuery不足的其他情況,我需要使用連接/命令等低級別數據訪問。

回答

0

我不能絕對地說,但連接是連接。在關閉之前(或者返回到連接池),無論是通過LINQ還是其他方式,都應該可以使用。

1

爲什麼不把它轉過來,而是通過使用將連接作爲參數的構造函數提供與datacontext的連接?這樣,您可以控制何時創建和處理連接,打開和關閉連接,並且可以將其用於其他目的,而不必擔心L2S數據環境的內部行爲...

相關問題