Usuario
consulta sqlException EF

Pregunta
-
Hola gente quisiera saber como puedo hacer para indicar que campo es el que está violando una restricción de campo único. Actualmente tengo este código, pero quiero indicarle cual es el campo que está provocando la excepción ya que hay varios con esa restricción.
catch(DbUpdateException ex) { SqlException sqlEx = ex.InnerException.InnerException as SqlException; if(sqlEx.Number==2627) { throw new Exception("mensaje");//ejemplo } }
Todas las respuestas
-
hola
No se si vas a apoder obtener exactamente el campo, si deberias poder obtener el mensaje donde se mencione el campo y tabla involucrada
How can I catch UniqueKey Violation exceptions with EF6 and SQL Server?
quizas lo que planta en la respuesta br3nt en donde aplica regular expression para parsear el mensaje y obtener esos datos
pero bueno es una opcion, yo creo que mostrando directo el mensaje deberia alcanzar
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina -
hola
No se si vas a apoder obtener exactamente el campo, si deberias poder obtener el mensaje donde se mencione el campo y tabla involucrada
How can I catch UniqueKey Violation exceptions with EF6 and SQL Server?
quizas lo que planta en la respuesta br3nt en donde aplica regular expression para parsear el mensaje y obtener esos datos
pero bueno es una opcion, yo creo que mostrando directo el mensaje deberia alcanzar
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina
Pero a cual te refieres con “mensaje” innerException.Message?? Ese me diiria el nombre del campo?? Porque la idea seria indicarle de alguna forma cual es el campo que esta “duplicado” -
>>Pero a cual te refieres con “mensaje” innerException.Message?
apuntaba al message que esta dentro de
ex.InnerException.InnerException
o sea llegar al mensaje del SqlException, pero despues solo mostrar el message no parsearlo para obtener el nombre de la tabla o columna
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina