2010-04-22 3 views
0

Im obtenir cette exception dans leL'index était en dehors des limites du tableau. IndexOutOfRangeException dans LINQ to SQL

protected virtual void SendPropertyChanged(String propertyName) 
    { 
     if ((this.PropertyChanged != null)) 
     { 
      this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); <---- HERE !!! 
     } 
    } 

d'une association de table récemment j'ai créé, il y a beaucoup de mêmes associations autour de la base de données, ce qui se passait dans les 4 tableaux spécifiques i ajoutés. Sa relation 1 ... * et son association est Primary Table -> Id (identité générée automatiquement) Foreign PId column int not null.

Je ne comprends pas ... Im utilisant SqlMetal pour la génération, j'ai régénéré le schéma, reconstruire, même. Cela provoque lors de l'insertion de la ligne dans DevExpress XtraGrid, mais je ne pense pas que cela devrait poser problème, même contrôle avec la même fonctionnalité, mais pour des tables différentes fonctionne bien.

J'utilise l'événement de grille pour ajouter une valeur dans une propriété lorsque l'entité crée. J'ai désactivé cela mais encore une fois.

Recrée l'association. Pas de changement, exception se produit.

Des idées?

+0

Veuillez fournir plus de détails, capture d'écran de vos tables, linq query..etc. –

Répondre

1

Désactiver "Just My Code" dans les options de débogage de Visual Studio, vous devriez voir que la trace de la pile contient plus d'informations sur l'exception. La ligne que vous avez référencée soulève un événement qui est géré (probablement par XtraGrid) dans le but de mettre à jour l'interface utilisateur en réponse aux changements dans les objets liés. La ligne elle-même ne lance pas l'exception.

Vous trouverez probablement une trace de pile dans le contrôle tiers. J'espère que DevExpress peut vous aider à le résoudre. Ils sont plutôt bons avec le soutien.

+0

Je suppose que cela sera fait, puisque le problème disparaît bientôt lorsque je supprime l'événement BindingSource ListChanged où je l'utilise pour certaines actions –

+0

C'était le problème de Grid quand les choses se compliquent et appelez le RefreshDatasource –