Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 14748|Antwort: 0

[Gelöst] Die Verifizierung scheitert bei einer oder mehreren Einheiten. Für weitere Informationen siehe die PropertyEntityValidationErrors.

[Link kopieren]
Veröffentlicht am 08.10.2015 20:47:51 | | |
Da es sich um einen Nachdruck des Artikels handelt. Die Quelle ist hier angegeben, bitte verzeihen Sie mir, falls es Artikel gibt, die zuvor ohne Hinweis übertragen wurden, da einige die Quelle nicht mehr finden können oder aus anderen Gründen.

Wenn du beleidigt bist, kontaktiere mich bitte, lösche es oder gib die Quelle an.

Früher wollte ich einfach nur gute Artikel sammeln, aber manchmal scheitert die Verbindung, also gehe ich jetzt direkt zu mir selbst, wenn ich auf einen guten stoße.

Ursprüngliche Quelle http://blog.csdn.net/snowinfish/article/details/11567301



Beim Schreiben von Daten in das ADO.NET Entitätsmodell in VS2012 sagt es immer wieder: "DbEntityValidationException not handled" und "Validierung einer oder mehrerer Entitäten fehlgeschlagen. Weitere Informationen finden Sie unter EntityValidationErrors Properties.



Ich habe die nächsten beiden Entitäten selbst getestet, hauptsächlich den Fehler, der durch "operate911" verursacht wurde.

Ich habe die Informationen online überprüft und auf den folgenden Artikel verwiesen.

Workaround, wie man die Details von EntityValidationErrors anzeigen kann

http://www.cnblogs.com/zhourq/archive/2011/11/03/2234720.html

Beim Schreiben der Ausnahme hat das System jedoch keine "DbEntityValidationException", was auf einen Mangel an Namespace-Referenz zurückgeführt wird.

Also hinzugefügt:

[Csharp] Klartext ansehen
unter Verwendung von System.Data.Validation;  

Das entsprechende Verfahren wird geändert zu:
[Csharp] Klartext ansehen
Versuch es  
{ Entitäten. Operate911.Add(operate911);  
    Entitäten. SaveChanges();  
}  
catch (DbEntityValidationException dbEx)   
{  

}  
Start, keine Ausnahme, "operate911" schreibt keine Daten in die Datenbanktabelle.
Der Grund für die Überprüfung ist, dass beim Schreiben eines ergänzenden Programms keine Datenfüllung für eine Spalte vorliegt, die nicht leer sein darf, und nach der Änderung wird das Programm gestartet und der Test ist erfolgreich.



Wenn du jedoch keine Ausnahme schreibst, verfolge weiterhin den obersten Fehler.

Außerdem kann der Parameter "dbEx" nach dem Satz "catch (DbEntityValidationException dbEx)" geschrieben werden, ohne zu schreiben.

Weiterhin unbekannt bleiben...



09.12 Nachtrag:

Die oben genannten Versuche und Fangen sind falsch geschrieben, und die Ausnahme wird nicht geworfen, sondern geändert zu:


[Csharp] Klartext ansehen
Versuch es  
{ var operateSpt = new OperateSpt(ymd, timeNow, Operate);  
        Entitäten. OperateSpts.Add (operateSpt);  
        Entitäten. SaveChanges();  
}  

catch (DbEntityValidationException z.B.)  
{  
    MessageBox.Show(z. B. Botschaft);  
}  

Die Ergebnisse sind in der untenstehenden Abbildung dargestellt.


Weiterhin unbekannt bleiben...



Ergänzung: Problemlösung.

Begründung: Die schriftlichen Daten stimmen nicht mit den Tabelleneinstellungen überein.

Mein Grund ist, dass bei einem bestimmten Schritt die geschriebenen Daten leer sind, die ursprüngliche Tabelle aber auf "nicht frei sein dürfen" gesetzt ist, sodass es eine Ausnahme gibt, wenn dieser Schritt ausgeführt wird.

Ich war zu nachlässig und habe nie an dieses Problem gedacht, als ich andere Operationen sah, die in die Daten geschrieben wurden, während ich die Daten betrachtete.





Vorhergehend:Dianping und Meituan werden sich zum gegenseitigen Vorteil und zu Win-Win-Ergebnissen zusammenschließen.
Nächster:ASP.NET eine Sammlung von Methoden, um das Root-Verzeichnis zu erhalten
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com