Maison > développement back-end > C++ > Comment déboguer 'La validation a échoué pendant l'initialisation de la base de données' Erreurs dans l'entité Framework?

Comment déboguer 'La validation a échoué pendant l'initialisation de la base de données' Erreurs dans l'entité Framework?

Barbara Streisand
Libérer: 2025-01-28 23:31:09
original
332 Les gens l'ont consulté

How to Debug

Initialisation de la base de données pendant l'échec de la vérification

Cette erreur se produit généralement lorsque les données sont insérées pendant le processus de semis de la base de données, et les données d'entrée ne répondent pas à la définition des règles de vérification. Dans cet exemple, huit erreurs de vérification ont été rencontrées pendant le processus de semis.

Le message d'erreur vous invite à vérifier la propriété "Entity ValidationError" pour obtenir plus de détails. Pour visiter ces erreurs, vous pouvez suivre les étapes ci-dessous:

context.saveChanges () dans la méthode des semences appelle le bloc d'essai autour de la méthode environnante.
  1. Dans le bloc de capture, la conception de la validation de Dbentity est capturée.
  2. Rechercher EntityValidationError Attributs à partir d'objets anormaux.
  3. Après avoir obtenu l'ensemble de ValidationError de l'entité, vous pouvez le traverser et vérifier les messages d'erreur spécifiques de chaque entité de défaillance de vérification.

Erreur de vérification d'accès

Pour afficher l'erreur de vérification réelle dans le bloc de capture, vous pouvez utiliser le code suivant:

Ce code sortira les informations détaillées de chaque erreur de vérification, y compris le type physique, le nom d'attribut et le message d'erreur.

<code class="language-c#">try
{
    //您的代码...

    context.SaveChanges();
}
catch (DbEntityValidationException e)
{
    foreach (var eve in e.EntityValidationErrors)
    {
        Console.WriteLine("类型为 \"{0}\" 的实体,状态为 \"{1}\",具有以下验证错误:",
            eve.Entry.Entity.GetType().Name, eve.Entry.State);

        foreach (var ve in eve.ValidationErrors)
        {
            Console.WriteLine("- 属性:\"{0}\",错误:\"{1}\"",
                ve.PropertyName, ve.ErrorMessage);
        }
    }

    throw;
}</code>
Copier après la connexion
Vérifier l'exemple d'erreur

Une raison possible de l'erreur est le manque ou la valeur d'état non valide dans le tableau des postes d'application. Avant d'essayer de sauvegarder les modifications de la base de données, assurez-vous que la propriété StatuSID est définie sur un ID d'état efficace.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal