2010-01-05 7 views
0

J'ai une classe de contexte de données Linq to SQL, où je déclenche une procédure stockée. Je peux tracer à travers le code généré l'endroit où la procédure stockée est déclenchée. J'inspecte System.Data.Linq.SqlClient.SqlProvider.ExecuteResult et peut voir qu'il existe un membre privé appelé "valeur" qui contient le nombre de lignes mises à jour. Il ne semble pas y avoir d'accesseur public pour cela, et de plus le résultat ne semble pas être retourné au contexte de données de toute façon. Y at-il un autre moyen d'accéder à cette valeur ou dois-je retourner @@ RowCount de chaque procédure stockée (beurk)?Mise à jour des lignes Mise à jour compte à l'aide de procédures stockées et Linq to SQL

Répondre

0

Hmm. Il est vrai que cela est une « meilleure estimation » comme je l'ai pas essayé avec une procédure stockée, mais est-ce que vous cherchez:

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

C'est pour les enregistrements mis à jour et vous pouvez remplacer .Updates avec .Inserts et. Délimite si nécessaire. Tant que la procédure stockée fait partie du contexte de données, elle doit être suivie par GetChangeSet().

Questions connexes