0
votes

Plusieurs articles Ajouter à la base de données en C # Formulaire Windows à l'aide de la structure d'entité

Je souhaite ajouter plusieurs éléments à la base de données à l'aide de la structure d'entité à partir de DataGridView, mais obtenez toujours une erreur dans la méthode SAVECHANGES () .

Voici mon code de bouton < Pré> xxx

Une exception non gérée de type 'system.data.entity.validation.dbenttityvalidationException' a eu lieu dans l'entitéframework.dll

Informations supplémentaires: La validation a échoué pour une ou plusieurs entités. Voir la propriété 'entityValidationErrors' pour plus de détails.


5 commentaires

Quelle est l'erreur? Veuillez ajouter des détails d'erreur dans votre question


Une exception non conçue du type 'system.data.entity.validation.dbentityvalidationException' a eu lieu dans EntityFramework.dll Informations supplémentaires: La validation a échoué pour une ou plusieurs entités. Voir la propriété «EntityValidationErrors» pour plus de détails.


Vous devez inclure des détails d'erreur dans votre message en modifiant votre question. Et BTW, veuillez inclure entityvalidationErrors qui est indiqué dans votre erreur


@Muhammadkaleem pouvez-vous ajouter la classe de produits de vente à la question


Classe de vente de vente ajoutée dans la question


4 Réponses :


0
votes

dbnull ne peut pas être converti en int32. Si votre valeur peut être null, votre propriété est nécessaire pour être nullable.

var saleProduct = new SaleProduct
{
     NullableProp = String.IsNullOrEmpty(txtInvoice.Text) ? (int)null :
          Convert.ToInt32(txtInvoice.Text),
     ....
}


0 commentaires

0
votes

En fonction de votre message d'erreur, il semble que certains de vos champs soient éventuellement définis comme non nuls dans la base de données et que vous essayez de mettre NULL. Vous pouvez consulter le champ EntityValidationErrors à votre exception dans VS - Il y aura exactement des informations que les champs sont incorrects


4 commentaires

Dans la base de données, il n'ya que le seul champ clé principal est nullable


Pour autant que je sache, la clé primaire ne peut être nullable. Peut-être dans votre modèle dans C # propriété est défini comme non NULL et que vous essayez de mettre NULL. Avez-vous vérifié EntityValidationErrors à votre exception dans VS?


La clé primaire est l'incrément automatique


Qu'en est-il des entityvalidationErrors? Vous pourriez également ajouter à la question de votre schéma de table?



0
votes

Vous devez d'abord vérifier NULL

row.Cells["Price"] is null ? DBNull.Value:Convert.ToString(row.Cells["Price"].Value)


0 commentaires

-1
votes
  • Utilisez ce code et lorsque la boîte de messages affiche Utiliser XXX

  • Pour copier le message

  • puis postez-le ici XXX


4 commentaires

Merci beaucoup . Après avoir essayé de capturer un bloc lors de l'enregistrement avec succès


@Muhammadkaleem comment ?? La boîte de message est-elle apparue?


@Muhammadelrashid Boîte de message ne montre pas. Mais travailler bien


Veuillez vérifier que cette erreur se produit après votre code. la validation a échoué pour une ou plusieurs entités. Voir Validations d'entité Propriétés des erreurs pour plus de détails