2015-03-08 42 views
0

一個更好的選擇,當我創建一個存儲過程,我用是否有SqlDataAdapter的

SET NOCOUNT ON 

,因爲這加速了執行時間。從這個問題中,SET NOCOUNT ON usage,使用SqlDataAdapter依賴於要返回的行受影響的值。如果你對於行之有效的替代類工作,我想知道: -

  • IF的存在是爲了避免重複(沒有行受影響的消息)
  • 注:謹慎WHERE NOT EXISTS使用(再少點行有望篩選出瑣碎更新(例如沒有數據實際上改變)
  • 之前執行的任何表訪問(如日誌記錄)隱藏複雜性或denormlisation

回答

1

你可以使用SqlDataReader對象。這是一個較低級別的界面,允許您單獨處理每一行並僅提取所需的數據。它在內部緩衝結果。

https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader%28v=vs.110%29.aspx

如果你想要一個簡單的ORM,在精緻小巧的隱藏複雜的樣子:https://code.google.com/p/dapper-dot-net/

+0

謝謝您的回答:) SqlDataAdapter的是經常使用的越來越大呢? – 2015-03-09 23:20:04

+0

如果使用ASP.NET WebForms,則數據表是常用的,而SqlDataAdapter是爲它們設計的,但除此之外並非如此。 – 2015-03-21 04:32:58