Poiché si tratta di una ristampa dell'articolo La fonte è indicata qui, vi prego di perdonarmi se ci sono articoli che sono già stati trasferiti senza indicazione, perché alcuni di essi non riescono più a trovare la fonte, o per altri motivi.
Se ti senti offeso, contattami, o cancella, o indica la fonte.
Perché prima volevo solo raccogliere buoni articoli, ma a volte la connessione fallisce, quindi ora vado direttamente da me stesso quando ne incontro uno buono.
Fonte originale http://blog.csdn.net/snowinfish/article/details/11567301
Quando scrivo dati nel modello di entità ADO.NET in VS2012, continua a dire "DbEntityValidationException not handled" e "Validation of una o più entità fallita. Per ulteriori informazioni, vedi Proprietà EntityValidationErrors.
Ho testato personalmente le due entità successive, principalmente l'errore causato da "operate911".
Ho consultato le informazioni online e ho consultato il seguente articolo.
Soluzione alternativa per visualizzare i dettagli di EntityValidationErrors
http://www.cnblogs.com/zhourq/archive/2011/11/03/2234720.html
Tuttavia, durante la scrittura dell'eccezione, il sistema non ha "DbEntityValidationException", che si presume sia dovuta alla mancanza di riferimento allo spazio dei nomi.
Così aggiunse:
[csharp] visualizza copia semplice usando System.Data.Validation;
La procedura corrispondente è modificata per: [csharp] visualizza copia semplice prova { entità. Operate911.Add(operate911); entità. Modifiche al salvataggio(); } catch (DbEntityValidationException dbEx) {
} Prompt di inizio, senza eccezioni, "operate911" non scrive dati nella tabella del database. Il motivo della verifica è che, quando si scrive un programma supplementare, non c'è alcun riempimento dati per una colonna che non può essere vuota e, dopo la modifica, il programma viene avviato e il test ha successo.
Tuttavia, se non scrivi un'eccezione, continua a segnalare l'errore principale.
Inoltre, il parametro "dbEx" dopo la frase "catch (DbEntityValidationException dbEx)" può essere scritto senza scrivere.
Continuare a essere sconosciuta...
09.12 Addendum:
Il tentativo e la presa sopra elencati sono scritti in modo errato, e l'eccezione non viene lanciata, ma cambiata in:
[csharp] visualizza copia semplice prova { var operateSpt = new OperateSpt(ymd, timeNow, Operate); entità. OperateSpts.Add(operateSpt); entità. Modifiche al salvataggio(); }
catch (DbEntityValidationException ex) { MessageBox.Show(es. Messaggio); }
I risultati sono mostrati nella figura sottostante.
Continuare a essere sconosciuta...
Supplemento: Risoluzione dei problemi.
Motivo: I dati scritti non sono coerenti con le impostazioni della tabella.
Il mio motivo è che a un certo passaggio i dati scritti sono vuoti, ma la tabella originale è impostata su "non è permesso essere vuoto", quindi ci sarà un'eccezione quando questo passaggio verrà eseguito.
Sono stato troppo negligente e non ho mai pensato a questo problema quando ho visto altre operazioni scritte sui dati mentre li guardavo.
|