Linq-to-Sql выполняет пользовательскую хранимую процедуру для обновления записей - PullRequest
1 голос
/ 01 февраля 2011

Меня немного смущает обновление данных с помощью хранимой процедуры в linq 2 sql.У меня такой вопрос: когда я использую хранимую процедуру для обновления некоторых данных в базе данных (но эта хранимая процедура не сопоставлена ​​с какой-то конкретной сущностью), я должен вызывать SubmitChanges после нее.А также как насчет транзакции, когда я вызываю ряд таких процедур в цикле, я должен явно создать транзакцию через метод или модель Connection.BeginTransaction () сделать это для меня?

Опять же, я знаю, как она работает при храненииПроцедура связана с какой-либо сущностью в модели, но теперь я использую пользовательскую хранимую процедуру, которая обновляет записи в ряде таблиц.

Благодарим Вас за помощь!

1 Ответ

3 голосов
/ 01 февраля 2011

Обновление данных, не связанных с сущностью, с помощью хранимой процедуры и LINQ to SQL очень просто.Просто перетащите хранимую процедуру из обозревателя сервера в пустое пространство в конструкторе DBML (чтобы он не пытался вернуть объекты-сущности) и вызовите связанный сгенерированный метод в своем коде следующим образом:

myDataContext.MyStoredProcedureMethod();

Действие выполняется немедленно, поэтому вам не нужно вызывать SubmitChanges ().

Чтобы обернуть этот вызов (или цикл, или что-то еще) в транзакции LINQ to SQL, см. инструкции и примеры здесь о том, как использовать транзакции LINQ to SQL.

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