Sintomas
Considere o seguinte cenário:
-
Tem serviços de dados de modelo global (MDS) de 2012 do Microsoft SQL Server ou SQL Server 2014 instalado.
-
Cria uma entidade que tem 100 membros e verificou a opção "Criar os valores de código automaticamente".
-
No Explorador de MDS, a entidade tem duas páginas de membros com o número de membros na página 2 igual ao tamanho de grelha da página (a predefinição é 50).
Cenário 1:
Clique no botão Adicionar membro na página 1, introduza os dados necessários para adicionar o novo membro e, em seguida, clique no botão Página seguinte . Página 3 é criado e receber a seguinte erros:
System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]
Argumentos:
Depuração cadeias de recursos não estão disponíveis. Muitas vezes a chave e os argumentos fornecem informações suficientes para diagnosticar o problema. Consulte http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.20913.00&File=mscorlib.dll&Key=ArgumentOutOfRange_Index
O nome do parâmetro: índice
em System.ThrowHelper.ThrowArgumentOutOfRangeException()
em System.Collections.Generic.List'1.get_Item (Int32 índice)
em System.Collections.ObjectModel.Collection'1.get_Item (Int32 índice)
em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.GetEnumerator()
em System.Windows.Controls.DataForm.get_ItemsCount()
em System.Windows.Controls.DataForm.SetCanMoveToLastItem()
em System.Windows.Controls.DataForm.SetAllCanProperties()
em System.Windows.Controls.DataForm.SetIsItemValid()
em System.Windows.Controls.DataForm.GenerateUI (Boolean clearEntityErrors, Boolean swapOldAndNew)
em System.Windows.Controls.DataForm.OnCurrentItemPropertyChanged (DependencyObject d, DependencyPropertyChangedEventArgs e)
em System.Windows.DependencyObject.RaisePropertyChangeNotifications (dp DependencyProperty, objecto ValorAntigo, NovoValor objecto)
em System.Windows.DependencyObject.UpdateEffectiveValue (DependencyProperty propriedade, EffectiveValueEntry oldEntry, EffectiveValueEntry & newEntry, ValueOperation operação)
em System.Windows.DependencyObject.SetValueInternal (dp DependencyProperty, valor de objecto, Boolean allowReadOnlySet, Boolean isBindingInStyleSetter)
em System.Windows.Controls.DataForm.UpdateCurrentItem()
em System.Windows.Controls.DataForm. < SetUpCollectionView > b__8 (DataForm da instância, origem do objecto, EventArgs eventArgs)
em System.Windows.Controls.WeakEventListener'3.OnEvent (origem de TSource, TEventArgs eventArgs)
em System.EventHandler.Invoke (remetente do objecto, EventArgs e)
em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.OnCurrentChanged()
em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveCurrentToPosition (Int32 posição)
em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveCurrentTo (produto objecto)
em Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.set_SelectedItem (valor de membro)
em Microsoft.MasterDataServices.Client.ViewModel.Common.ItemsBase'2.ReloadItems()
em Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.EntityMembers_RefreshNeeded (remetente do objecto, EventArgs e)
em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.Refresh()
em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveToPage (Int32 pageIndex)
em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.MoveToNextPage()
em System.Windows.Controls.DataPager.PageMoveHandler (Int32 oldPageIndex, Int32 newPageIndex, PageMoveOperationDelegate pageMoveOperation)
em System.Windows.Controls.DataPager.OnNextPageButtonBaseClick (remetente do objecto, RoutedEventArgs e)
em System.Windows.Controls.Primitives.ButtonBase.OnClick()
em System.Windows.Controls.Button.OnClick()
em System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp (MouseButtonEventArgs e)
em System.Windows.Controls.Control.OnMouseLeftButtonUp (controlo ctrl, EventArgs e)
a MS. Internal.JoltHelper.FireEvent (IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, NomeDoEvento de cadeia, sinalizadores UInt32)
Cenário 2:
Clique no botão Adicionar membros em 2 de página para forçar o Explorador para adicionar uma nova página. Em seguida, página 3 é criado e receber a seguinte erros:
System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]
Argumentos:
Depuração cadeias de recursos não estão disponíveis. Muitas vezes a chave e os argumentos fornecem informações suficientes para diagnosticar o problema. Consulte http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.20913.00&File=mscorlib.dll&Key=ArgumentOutOfRange_Index
O nome do parâmetro: índice
em System.ThrowHelper.ThrowArgumentOutOfRangeException()
em System.Collections.Generic.List'1.get_Item (Int32 índice)
em System.Collections.ObjectModel.Collection'1.get_Item (Int32 índice)
em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.GetEnumerator()
em System.Windows.Controls.DataForm.get_ItemsCount()
em System.Windows.Controls.DataForm.SetCanMoveToLastItem()
em System.Windows.Controls.DataForm.SetAllCanProperties()
em System.Windows.Controls.DataForm. < SetUpCollectionView > b__a (instância de DataForm, origem do objecto, NotifyCollectionChangedEventArgs eventArgs)
em System.Windows.Controls.WeakEventListener'3.OnEvent (origem de TSource, TEventArgs eventArgs)
em System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke (remetente do objecto, NotifyCollectionChangedEventArgs e)
em Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView'1.CollectionChangedHandler (remetente do objecto, NotifyCollectionChangedEventArgs e)
em System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke (remetente do objecto, NotifyCollectionChangedEventArgs e)
em System.Collections.ObjectModel.ObservableCollection'1.OnCollectionChanged (NotifyCollectionChangedEventArgs e)
em System.Collections.ObjectModel.ObservableCollection'1.InsertItem (Int32 índice, item de T)
em System.Collections.ObjectModel.Collection'1.Insert (Int32 índice, item de T)
em Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.AddNewMemberToCollection (Guid requestId, resposta de EntityMembersGetResponse, excepção ex)
em Microsoft.MasterDataServices.Client.ViewModel.ServiceProxy.ServiceClient. <> c__DisplayClass16'2. < ExecuteRequest > b__15 (remetente do objecto, e de RequestCompletedEventArgs'1)
em Microsoft.MasterDataServices.Client.ViewModel.ServiceProxy.ServiceClient.OnEntityMembersGetCompleted (estado do objecto)
Resolução
O problema foi corrigido pela primeira vez na actualização cumulativa do SQL Server.
Actualização cumulativa 1 para o SQL Server 2014/en-us/help/2931693
Actualização cumulativa 9 para SQL Server 2012 SP1/en-us/help/2931078
Cada nova actualização cumulativa para o SQL Server contém todas as correcções e todas as correcções de segurança que foram incluídas na anterior actualização cumulativa. Verifique as actualizações cumulativas mais recentes para o SQL Server:
Mais informações
Após a instalação estiver concluída, tem de abrir Gestor de configuração de serviços de dados de modelo global de modo a que pode actualizar a base de dados MDS.
-
Clique em bases de dadose, em seguida, clique em Seleccionar base de dados.
-
Ligar à base de dados que pretende actualizar. Quando é seleccionada a base de dados, recebe a seguinte mensagem: Esta base de dados requer uma actualização. Não é possível alterar as definições do sistema até que a base de dados é actualizado.
-
Clique em Actualizar base de dados. Abre o Assistente para actualizar a base de dados . Siga as instruções no Assistente para actualizar a base de dados e, em seguida, clique em Concluir.
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".