Индекс находился вне границ массива.IndexOutOfRangeException в LINQ to SQL - PullRequest
0 голосов
/ 22 апреля 2010

Я получаю это исключение в

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

одной недавно созданной ассоциации таблиц, вокруг базы данных было много одинаковых ассоциаций, и это произошло в 4 конкретных таблицах, которые я добавил. Его отношение 1 ... * и ассоциация - Первичная таблица -> Id (автоматически генерируемая идентификация) Внешний столбец PId int не равен нулю.

Я просто не понимаю .... Я использую SqlMetal для генерации, я восстановил схему, перестроил, то же самое. Это вызывает при вставке строки в DevExpress XtraGrid, но я не думаю, что это должно быть проблемой, тот же элемент управления с той же функциональностью, но для разных таблиц работает нормально.

Я использую событие сетки для добавления значения в свойство при создании сущности. Я отключил это, но то же самое снова.

Воссоздана ассоциация. Без изменений, исключение не происходит.

Есть идеи?

1 Ответ

1 голос
/ 22 апреля 2010

Отключите «Просто мой код» в параметрах отладки в Visual Studio, после чего вы должны увидеть, что есть еще трассировка стека, где происходит исключение. Строка, на которую вы ссылались, вызывает событие, которое обрабатывается (возможно, XtraGrid) с целью обновления пользовательского интерфейса в ответ на изменения в связанных объектах. Сама строка не выдает исключение.

Вы, вероятно, найдете трассировку стека глубоко в стороннем контроле. Надеюсь, DevExpress поможет вам решить эту проблему. Они очень хороши с поддержкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...