У меня есть хранимая процедура для вставки данных в таблицу.
Вот как я вызываю хранимую процедуру из метода контроллера:
var insert_query = entities.Database.SqlQuery<Call_Info>("exec [dbo].[insert_call_info] @call_id, @user_id, @call_arrive, @call_end, @info",
new SqlParameter("call_id", call_id),
new SqlParameter("user_id", u_id),
new SqlParameter("call_arrive", call_arrive),
new SqlParameter("call_end", call_end),
new SqlParameter("info", info)
).ToList();
var jsonResult = JsonConvert.SerializeObject(insert_query); // <-- using Newtonsoft.Json
return Json(jsonResult);
Если я вставляю значение call_id
, которое уже хранится в таблице, я получаю эту ошибку, которая правильно:
Сообщение ":" Произошла ошибка
Нарушение ограничения UNIQUE KEY 'UQ__Call_Inf__427DCE6904E3DF9B'. Невозможно вставить повторяющийся ключ в объект 'dbo.Call_Info'. Повторяющееся значение ключа - (91390).
Есть ли способ отловить эту ошибку в контроллере?