В вашей хранимой процедуре вы можете создать переменную таблицы (или временную таблицу, если переменные таблиц вам недоступны) и вставлять в нее @@ rowcount после каждой части хранимой процедуры, которая влияет на количество строк таблицы, затемв качестве последней операции в вашей процедуре хранения выберите переменную из таблицы.
Например,
CREATE PROCEDURE myProc
AS
BEGIN
DECLARE @ra TABLE
(
rowsAffected INT,
queryName VARCHAR(50)
)
INSERT INTO sometable
SELECT col1, col2
FROM someothertable
INSERT INTO @ra (rowsAffected, queryName) VALUES (@@ROWCOUNT, 'insert into sometable')
DELETE FROM anothertable
WHERE thingID = something
INSERT INTO @ra (rowsAffected, queryName) VALUES (@@ROWCOUNT, 'delete from anothertable')
SELECT rowsAffected, queryName
FROM @ra
END
Затем обновите ваш DBML, чтобы строки были доступны в запросах Linq to SQL.