Мы используем запросы, сгенерированные Linq для извлечения данных, но для INSERT и UPDATE мы не разрешаем сгенерированный SQL, а ограничиваем использование хранимых процедур.Linq2SQL с использованием Update StoredProcedure
Я подключил поведение Update и Insert в DBML к хранимым процедурам. Вызывается процедуры, данные вставляются/обновляются = все, если они указаны, , за исключением оптимистического параллелизма.
Если запись была изменена между поиском и обновлением, обновление должно завершиться ошибкой.
Когда Linq генерирует оператор Update сам, он бросает ChangeConflictException, как ожидалось, но с использованием хранимой процедуры не исключение не выкинули.
Большое спасибо за помощь!
Спасибо! Дизайнер DBML позволяет сопоставлять поведение INSERT, UPDATE и DELETE с хранимыми процедурами. А также позволяет сопоставлять исходные значения с параметрами хранимой процедуры обновления. Единственным недостающим элементом является проверка строки и сброс исключения ChangeConflictException. Его все там, кроме сгенерированного кода в Designer.cs, не генерирует исключение. – PeterFromCologne