Ich habe eine Anwendung mit MVC4 und EF5.x geschrieben und ELMAH zum Protokollieren von Ausnahmen zur Überprüfung verwendet. Wir haben die Anwendung vor kurzem freigegeben, und wie erwartet, füllte sich das ELMAH-Protokoll mit mehreren Dutzend Ausnahmen. Großartig (und nicht)! Das Problem ist, dass eine dieser Ausnahme istWie melde ich EntityValidation Fehler mit ELMAH MVC?
System.Data.Entity.Validation.DbEntityValidationException
Validation failed for one or more entities.
See 'EntityValidationErrors' property for more details.
Natürlich gibt es keine Möglichkeit, die EntityValidationErrors Eigenschaft für weitere Details und der Stack-Trace wickelt bis zu meinem SubmitChanges()
Ich weiß ELMAH hat das zu sehen Fähigkeit, uns zu erlauben, unsere eigenen Ausnahmen zu erheben, und in irgendeiner Weise anzupassen, was eingeloggt wird und wie. Leider bin ich immer noch sehr neu bei ELMAH und MVC und eine Google-Suche ergab nichts Relevantes. Ich fand a blog article auf Logging EntityValidationErrors, und der Autor erwähnt ausdrücklich, dass er wie in ELMAH, aber das wurde im September 2012 veröffentlicht wurde, und ich habe nichts seitdem gesehen.
Jede Hilfe würde sehr geschätzt werden!
Warum nur nicht fangen DbEntityValidationException statt Gießen? –
Sie können auch LINQ verwenden, um alle Fehler als eine Liste von Zeichenfolgen auszuwählen und ihnen beizutreten, anstatt die erste Zeichenfolge auszuwählen. –
Eine zentralere Lösung wäre bevorzugt. Wie zum Beispiel das Überschreiben der Funktion, wo Elmah die Fehler abfängt und prüft, ob es ein 'DbValidationError' ist, dann schaue es weiter an, – Zapnologica