Получение обновленного количества строк с использованием хранимых процедур и Linq to SQL - PullRequest
0 голосов
/ 06 января 2010

У меня есть класс контекста данных Linq to SQL, где я запускаю хранимую процедуру. Я могу проследить через сгенерированный код туда, где запускается хранимая процедура. Я проверяю System.Data.Linq.SqlClient.SqlProvider.ExecuteResult и вижу, что существует закрытый член с именем «value», который содержит количество обновленных строк. Похоже, что для этого не существует общедоступных средств доступа, а также результат, по-видимому, не возвращается обратно в контекст данных. Есть ли какой-то другой способ получить доступ к этому значению или мне нужно возвращать @@ RowCount из каждой хранимой процедуры (хм)?

1 Ответ

0 голосов
/ 09 января 2010

Хм. По общему признанию, это «лучшая догадка», так как я не пробовал ее с помощью хранимой процедуры, но это то, что вы ищете:

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

Это для Обновленных записей, и вы можете при необходимости заменить .Updates на .Inserts и .Deletes. Пока хранимая процедура является частью контекста данных, она должна отслеживаться с помощью GetChangeSet ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...