Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 14748|Répondre: 0

[Résolu] La vérification échoue pour une ou plusieurs entités. Pour plus d’informations, voir la propriété EntityValidationErrors.

[Copié le lien]
Publié sur 08/10/2015 20:47:51 | | |
Puisqu’il s’agit d’une réimpression de l’article dont la source est indiquée ici, veuillez m’excuser s’il y a des articles qui ont déjà été transférés sans indication, car certains ne trouvent plus la source, ou pour d’autres raisons.

Si vous êtes offensé, veuillez me contacter, supprimer ou indiquer la source.

Parce qu’avant, je voulais juste collectionner de bons articles, mais parfois la connexion échoue, alors maintenant je me tourne directement vers moi quand j’en trouve un bon.

Source originale http://blog.csdn.net/snowinfish/article/details/11567301



Lorsque l’écriture de données dans le modèle d’entité ADO.NET dans VS2012, il affiche sans cesse « DbEntityValidationException not handled » et « Validation d’une ou plusieurs entités échouée. Pour plus d’informations, voir Propriétés EntityValidationErrors.



J’ai testé moi-même les deux entités suivantes, principalement l’erreur causée par « operate911 ».

J’ai consulté les informations en ligne et consulté l’article suivant.

Solution de contournement pour voir les détails d’EntityValidationErrors

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

Cependant, lors de l’écriture de l’exception, le système n’a pas « DbEntityValidationException », ce qui est supposé être un manque de référence à l’espace de noms.

Ainsi ajouté :

[Csharp] Voir clair
utilisant System.Data.Validation ;  

La procédure correspondante est modifiée pour :
[Csharp] Voir clair
essaie  
{ entités. Operate911.Add(operate911) ;  
    entités. Modifications de sauvegarde () ;  
}  
catch (DbEntityValidationException dbEx)   
{  

}  
Invite de démarrage, sans exception, « operate911 » n’écrit pas les données dans la table de la base de données.
La raison de vérifier est que, lors de l’écriture d’un programme complémentaire, il n’y a pas de remplissage de données pour une colonne qui ne peut pas être vide, et après modification, le programme est lancé et le test réussit.



Cependant, si vous n’écrivez pas d’exception, continuez à afficher l’erreur principale.

De plus, le paramètre « dbEx » après la phrase « catch (DbEntityValidationException dbEx) » peut être écrit sans écriture.

Continuer à être inconnu...



09.12 Addendum :

Les tentatives et attrapés ci-dessus sont mal écrits, et l’exception n’est pas lancée, mais modifiée en :


[Csharp] Voir clair
essaie  
{ var operateSpt = new OperateSpt(ymd, timeNow, Operate) ;  
        entités. OperateSpts.Add(operateSpt) ;  
        entités. Modifications de sauvegarde () ;  
}  

catch (DbEntityValidationException ex)  
{  
    MessageBox.Show (ex. Message) ;  
}  

Les résultats sont présentés dans la figure ci-dessous.


Continuer à être inconnu...



Supplément : Résolution de problèmes.

Raison : Les données écrites ne sont pas cohérentes avec les réglages du tableau.

Ma raison est qu’à une certaine étape, les données écrites sont vides, mais la table originale est réglée sur « interdit d’être vide », donc il y aura une exception lorsque cette étape sera effectuée.

J’ai été trop négligent et je n’ai jamais pensé à ce problème quand je voyais d’autres opérations écrites sur les données pendant que je les regardais.





Précédent:Dianping et Meituan vont fusionner pour un bénéfice mutuel et des résultats gagnant-gagnant.
Prochain:ASP.NET un ensemble de méthodes pour obtenir le répertoire racine
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com