2012-01-20 28 views
0

我可以確定實體框架驗證連接池中的連接嗎? 考慮這種情況:實體框架:SQL Server重新啓動後的連接

  1. 一些CRUD操作正在運行;
  2. SQL服務器停止;
  3. CRUD操作失敗;
  4. SQL服務器啓動。

是否保證SQL server啓動後CRUD操作不會失敗?

EF V1

在此先感謝

UPD:原來,ADO.NET負責連接池,而不是EF。但總的來說,問題仍然存在。

回答

0

如果SQL Server停止當前在池中的所有連接將被破壞。連接池不驗證連接的狀態。您很可能會爲每個斷開的連接獲得例外,但下一次調用將創建新的連接,並且CRUD操作將再次運行。

如果您關心的是事務,事務將無法存活失敗的SQL服務器。因此,在SQL服務器失敗之前的事務中執行的CUD操作將被回滾。

+0

謝謝,正是我想知道的。 如果有人需要更多信息,請參閱http://msdn.microsoft.com/en-us/library/8xx3tyca%28v=vs.80%29.aspx – borovikpe

0

如何保證CRUD操作不會失敗...? 你可以在你的問題更具體嗎?

除了服務器重啓之外,還有很多事情可能出錯,比如網絡故障,數據庫限制,或者僅僅是錯誤的數據等等。

不可能在我看來。

+0

那麼,很明顯ops可能會失敗的原因很多,但問題是關於來自池的「斷開」連接。 – borovikpe

+0

對不起,我的錯。這似乎是我沒有得到問題的主要想法。 –

相關問題