Como es una reimpresión del artículo La fuente se indica aquí, por favor perdonadme si hay artículos que han sido transferidos antes sin indicación, porque algunos ya no pueden encontrar la fuente, o por otras razones.
Si te sientes ofendido, por favor contáctame, o elimínala, o indica la fuente.
Porque antes solo quería coleccionar buenos artículos, pero a veces la conexión falla, así que ahora voy directamente a mí mismo cuando encuentro uno bueno.
Fuente original http://blog.csdn.net/snowinfish/article/details/11567301
Al escribir datos en el modelo de entidad ADO.NET en VS2012, sigue diciendo "DbEntityValidationException not handled" y "Validación de una o más entidades fallida. Para más información, consulte Propiedades de ErroresValidación.
Probé las siguientes dos entidades yo mismo, principalmente el error causado por "operate911".
Consulté la información en internet y consulté el siguiente artículo.
Solución temporal para ver los detalles de EntityValidationErrors
http://www.cnblogs.com/zhourq/archive/2011/11/03/2234720.html
Sin embargo, al escribir la excepción, el sistema no tiene "DbEntityValidationException", que se supone que es una falta de referencia en el espacio de nombres.
Así añadimos:
[Csharp] Ver texto plano usando System.Data.Validation;
El procedimiento correspondiente se modifica a: [Csharp] Ver texto plano Prueba { entidades. Operate911.Add(operate911); entidades. Cambios de guardado(); } captura (DbEntityValidationException dbEx) {
} Prompt de inicio, sin excepción, "operate911" no está escribiendo datos en la tabla de la base de datos. La razón para comprobarlo es que, al escribir un programa suplementario, no hay datos que rellene una columna que no pueda estar vacía, y tras la modificación, el programa se inicia y la prueba tiene éxito.
Sin embargo, si no escribes una excepción, sigue mostrando el error principal.
Además, el parámetro "dbEx" después de la frase "catch (DbEntityValidationException dbEx)" puede escribirse sin escribir.
Sigue siendo desconocido...
09.12 Apéndice:
Los intentos y atrapados anteriores están escritos incorrectamente, y la excepción no se lanza, sino que se cambia a:
[Csharp] Ver texto plano Prueba { var operateSpt = new OperateSpt(ymd, timeNow, Operate); entidades. OperateSpts.Add (operSpt); entidades. Cambios de guardado(); }
captura (DbEntityValidationException ex) { MensajeCuadro.Mostrar (ex. Mensaje); }
Los resultados se muestran en la figura siguiente.
Sigue siendo desconocido...
Suplemento: Resolución de problemas.
Motivo: Los datos escritos son inconsistentes con la configuración de la tabla.
Mi razón es que en cierto paso, los datos escritos están vacíos, pero la tabla original está configurada en "no puede estar vacía", así que habrá una excepción cuando se realice este paso.
Fui demasiado descuidado y nunca pensé en este problema cuando vi otras operaciones escritas en los datos mientras los revisaba.
|