2010-04-22 24 views
0

即时得到这个例外在一个最近的索引超出了数组的范围。 IndexOutOfRangeException中的LINQ to SQL

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

表i对应起来创造,有很多围绕着同一个数据库关联,这事我加入了4特定表所示。它的1 ... *关系和关联是主表 - > Id(标识自动生成)外部PId列int不为null。

我只是不明白它....我使用SqlMetal生成,我重新生成架构,重建,相同。这是在DevExpress XtraGrid中插入行时造成的,但我不认为这应该是问题,具有相同功能的相同控件,但对于不同的表格工作正常。

当创建实体时,我使用grid的事件来追加属性中的值。我禁用了这个,但又一样。

重新创建该协会。没有变化,发生异常。

任何想法?

+0

请提供更多的细节,你的表格的屏幕截图,linq query..etc。 – 2010-04-22 01:49:24

回答

1

在Visual Studio的调试选项中关闭“Just My Code”,那么您应该看到发生异常的栈跟踪更多。您引用的行引发了正在处理的事件(可能由XtraGrid处理),以便更新UI以响应绑定对象中的更改。该行本身并没有抛出异常。

您可能会发现深入第三方控件的堆栈跟踪。希望DevExpress可以帮助你解决它。他们对支持非常好。

+0

我想这会完成,因为问题很快就消失了,因为我删除了BindingSource ListChanged事件,我用它来执行一些操作 – 2010-04-22 02:25:17

+0

当事情变得复杂并调用RefreshDatasource时,这是Grid的问题 – 2010-04-22 05:58:46