Симптомы
Рассмотрим следующий сценарий:
-
У вас есть образец службы данных (MDS) для Microsoft SQL Server 2012 и 2014 SQL Server установлена.
-
Создание сущности, имеющей 100 членов и был установлен параметр «Автоматически создавать значения кода».
-
В обозревателе MDS сущность состоит из двух страниц члены с числом элементов на странице 2 равняется размер страницы сетки (по умолчанию — 50).
Сценарий 1:
Нажмите кнопку Добавить элемент на странице 1, введите необходимые данные для добавления нового члена и нажмите кнопку " Следующая страница ". Страница 3 будет создан и появится следующие ошибки:System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]Http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.20913.00&File=mscorlib.dll&Key=ArgumentOutOfRange_Index см Имя параметра: индекс в System.ThrowHelper.ThrowArgumentOutOfRangeException() в System.Collections.Generic.List'1.get_Item (индекс Int32) в System.Collections.ObjectModel.Collection'1.get_Item (индекс Int32) в Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.GetEnumerator() в System.Windows.Controls.DataForm.get_ItemsCount() в System.Windows.Controls.DataForm.SetCanMoveToLastItem() в System.Windows.Controls.DataForm.SetAllCanProperties() в System.Windows.Controls.DataForm.SetIsItemValid() в System.Windows.Controls.DataForm.GenerateUI (логическое clearEntityErrors, логическое swapOldAndNew) в System.Windows.Controls.DataForm.OnCurrentItemPropertyChanged (DependencyObject d, e DependencyPropertyChangedEventArgs) в System.Windows.DependencyObject.RaisePropertyChangeNotifications (dp DependencyProperty, объект oldValue, новое значение объекта) в System.Windows.DependencyObject.UpdateEffectiveValue (свойство DependencyProperty, EffectiveValueEntry oldEntry, EffectiveValueEntry и newEntry, ValueOperation операция) в System.Windows.DependencyObject.SetValueInternal (dp DependencyProperty, значение объекта, логическое allowReadOnlySet, логическое isBindingInStyleSetter) в System.Windows.Controls.DataForm.UpdateCurrentItem() в b__8 System.Windows.Controls.DataForm. < SetUpCollectionView > (DataForm экземпляров, источник объекта EventArgs eventArgs) в System.Windows.Controls.WeakEventListener'3.OnEvent (TSource источник, TEventArgs eventArgs) в System.EventHandler.Invoke (Object sender, EventArgs e) в Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.OnCurrentChanged() в Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveCurrentToPosition (Int32 положение) в Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveCurrentTo (элемент объекта) в Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.set_SelectedItem (значение элемента) в Microsoft.MasterDataServices.Client.ViewModel.Common.ItemsBase'2.ReloadItems() в Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.EntityMembers_RefreshNeeded (Object sender, EventArgs e) в Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.Refresh() в Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveToPage (Int32 pageIndex) в Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveToNextPage() в System.Windows.Controls.DataPager.PageMoveHandler (Int32 oldPageIndex, Int32 newPageIndex, pageMoveOperation, PageMoveOperationDelegate) в System.Windows.Controls.DataPager.OnNextPageButtonBaseClick (Object sender, RoutedEventArgs e) в System.Windows.Controls.Primitives.ButtonBase.OnClick() в System.Windows.Controls.Button.OnClick() в System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp (MouseButtonEventArgs e) в System.Windows.Controls.Control.OnMouseLeftButtonUp (ctrl управления, EventArgs e) в корпорации Майкрософт. Internal.JoltHelper.FireEvent (IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, eventName строки, флаги UInt32)
Аргументы: Строки ресурсов отладки недоступны. Часто ключ и аргументы предоставляют достаточно сведений, чтобы диагностировать проблему.Сценарий 2:
Нажмите кнопку Добавление элементов на страницу 2, чтобы заставить обозреватель, чтобы добавить новую страницу. Затем создается страница 3 и получать следующие ошибки:System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]Http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.20913.00&File=mscorlib.dll&Key=ArgumentOutOfRange_Index см Имя параметра: индекс в System.ThrowHelper.ThrowArgumentOutOfRangeException() в System.Collections.Generic.List'1.get_Item (индекс Int32) в System.Collections.ObjectModel.Collection'1.get_Item (индекс Int32) в Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.GetEnumerator() в System.Windows.Controls.DataForm.get_ItemsCount() в System.Windows.Controls.DataForm.SetCanMoveToLastItem() в System.Windows.Controls.DataForm.SetAllCanProperties() в b__a System.Windows.Controls.DataForm. < SetUpCollectionView > (экземпляр DataForm, источника объекта NotifyCollectionChangedEventArgs eventArgs) в System.Windows.Controls.WeakEventListener'3.OnEvent (TSource источник, TEventArgs eventArgs) в System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke (Object sender, NotifyCollectionChangedEventArgs e) в Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.CollectionChangedHandler (Object sender, NotifyCollectionChangedEventArgs e) в System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke (Object sender, NotifyCollectionChangedEventArgs e) в System.Collections.ObjectModel.ObservableCollection'1.OnCollectionChanged (NotifyCollectionChangedEventArgs e) в System.Collections.ObjectModel.ObservableCollection'1.InsertItem (индекс Int32, элемент T) в System.Collections.ObjectModel.Collection'1.Insert (индекс Int32, элемент T) в Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.AddNewMemberToCollection (Guid requestId, EntityMembersGetResponse ответ, исключение ex) в c__DisplayClass16 <> Microsoft.MasterDataServices.Client.ViewModel.ServiceProxy.ServiceClient. "2. < ExecuteRequest > b__15 (Object sender, e RequestCompletedEventArgs" 1) в Microsoft.MasterDataServices.Client.ViewModel.ServiceProxy.ServiceClient.OnEntityMembersGetCompleted (состояние объекта)
Аргументы: Строки ресурсов отладки недоступны. Часто ключ и аргументы предоставляют достаточно сведений, чтобы диагностировать проблему.Решение
Сначала проблема была исправлена в следующем накопительном обновлении SQL Server.
Накопительное обновление 1 для SQL Server 2014 г/en-us/help/2931693
Накопительное обновление 9 для SQL Server 2012 с пакетом обновления 1/en-us/help/2931078
Каждый новый накопительный пакет обновления для SQL Server содержит все исправления и все исправления безопасности, входившие в состав предыдущего накопительного обновления. Извлечь последние накопительные обновления для SQL Server:
Дополнительные сведения
После завершения установки необходимо открыть Диспетчера конфигурации служб основных данных , можно обновить базу данных MDS.
-
Выберите базы данныхи нажмите кнопку Выбрать базу данных.
-
Подключение к базе данных, которую необходимо обновить. При выборе базы данных появляется следующее сообщение: эту базу данных необходимо обновить. Не удается изменить параметры системы до обновления базы данных.
-
Нажмите кнопку Обновить базу данных. Откроется Мастер обновления базы данных . Следуйте инструкциям мастера, чтобы обновить базу данных и нажмите кнопку Готово.
Статус
Корпорация Майкрософт подтверждает, что это проблема продуктов Майкрософт, перечисленных в разделе "Относится к".