2010-01-05 62 views
0

我有一個Linq到SQL數據上下文類,我正在觸發一個存儲過程。我可以通過生成的代碼跟蹤存儲過程被觸發的位置。我檢查了System.Data.Linq.SqlClient.SqlProvider.ExecuteResult並可以看到有一個名爲「value」的私有成員,其中包含更新的行數。似乎沒有任何公共訪問器,並且結果似乎也不會返回到數據上下文無論如何。有沒有其他的方式來訪問這個值,或者我必須從每個存儲過程(yuck)返回@@ RowCount?獲取行更新使用存儲過程和Linq到SQL計數

回答

0

嗯。誠然,這是一個「最好的猜測」,因爲我還沒有與存儲過程嘗試過了,但是這是你在找什麼:

... Do Updates ... 
// if sdc is your DataContext 
int changedRecords = sdc.GetChangeSet().Updates.Count(); 
sdc.SubmitChanges(); 

這對更新的記錄,你可以用.Inserts取代.Updates並根據需要刪除。只要存儲過程是數據上下文的一部分,就應該由GetChangeSet()來跟蹤它。