Symptoms
Consider the following scenario:
-
You have Master Data Services (MDS) for Microsoft SQL Server 2012 or SQL Server 2014 installed.
-
You create an entity that has 100 members and has the "Create Code Values Automatically" option checked.
-
In MDS Explorer, the entity has two pages of members with the number of members on Page 2 equaling the grid page size (default is 50).
Scenario 1:
Click the Add Member button on Page 1, enter the required data to add the new member and then click the Next Page button. Page 3 is created and you receive following errors:System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.20913.00&File=mscorlib.dll&Key=ArgumentOutOfRange_Index Parameter name: index at System.ThrowHelper.ThrowArgumentOutOfRangeException() at System.Collections.Generic.List`1.get_Item(Int32 index) at System.Collections.ObjectModel.Collection`1.get_Item(Int32 index) at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView`1.GetEnumerator() at System.Windows.Controls.DataForm.get_ItemsCount() at System.Windows.Controls.DataForm.SetCanMoveToLastItem() at System.Windows.Controls.DataForm.SetAllCanProperties() at System.Windows.Controls.DataForm.SetIsItemValid() at System.Windows.Controls.DataForm.GenerateUI(Boolean clearEntityErrors, Boolean swapOldAndNew) at System.Windows.Controls.DataForm.OnCurrentItemPropertyChanged(DependencyObject d, DependencyPropertyChangedEventArgs e) at System.Windows.DependencyObject.RaisePropertyChangeNotifications(DependencyProperty dp, Object oldValue, Object newValue) at System.Windows.DependencyObject.UpdateEffectiveValue(DependencyProperty property, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, ValueOperation operation) at System.Windows.DependencyObject.SetValueInternal(DependencyProperty dp, Object value, Boolean allowReadOnlySet, Boolean isBindingInStyleSetter) at System.Windows.Controls.DataForm.UpdateCurrentItem() at System.Windows.Controls.DataForm.<SetUpCollectionView>b__8(DataForm instance, Object source, EventArgs eventArgs) at System.Windows.Controls.WeakEventListener`3.OnEvent(TSource source, TEventArgs eventArgs) at System.EventHandler.Invoke(Object sender, EventArgs e) at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView`1.OnCurrentChanged() at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView`1.MoveCurrentToPosition(Int32 position) at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView`1.MoveCurrentTo(Object item) at Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.set_SelectedItem(Member value) at Microsoft.MasterDataServices.Client.ViewModel.Common.ItemsBase`2.ReloadItems() at Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.EntityMembers_RefreshNeeded(Object sender, EventArgs e) at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView`1.Refresh() at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView`1.MoveToPage(Int32 pageIndex) at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView`1.MoveToNextPage() at System.Windows.Controls.DataPager.PageMoveHandler(Int32 oldPageIndex, Int32 newPageIndex, PageMoveOperationDelegate pageMoveOperation) at System.Windows.Controls.DataPager.OnNextPageButtonBaseClick(Object sender, RoutedEventArgs e) at System.Windows.Controls.Primitives.ButtonBase.OnClick() at System.Windows.Controls.Button.OnClick() at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e) at System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e) at MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName, UInt32 flags)
Arguments: Debugging resource strings are unavailable. Often the key and arguments provide sufficient information to diagnose the problem. SeeScenario 2:
Click the Add Member button on Page 2 to force Explorer to add a new page. Then Page 3 is created and you receive following errors:System.ArgumentOutOfRangeException: [ArgumentOutOfRange_Index]http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.20913.00&File=mscorlib.dll&Key=ArgumentOutOfRange_Index Parameter name: index at System.ThrowHelper.ThrowArgumentOutOfRangeException() at System.Collections.Generic.List`1.get_Item(Int32 index) at System.Collections.ObjectModel.Collection`1.get_Item(Int32 index) at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView`1.GetEnumerator() at System.Windows.Controls.DataForm.get_ItemsCount() at System.Windows.Controls.DataForm.SetCanMoveToLastItem() at System.Windows.Controls.DataForm.SetAllCanProperties() at System.Windows.Controls.DataForm.<SetUpCollectionView>b__a(DataForm instance, Object source, NotifyCollectionChangedEventArgs eventArgs) at System.Windows.Controls.WeakEventListener`3.OnEvent(TSource source, TEventArgs eventArgs) at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e) at Microsoft.MasterDataServices.Client.ViewModel.Common.SortablePagedCollectionView`1.CollectionChangedHandler(Object sender, NotifyCollectionChangedEventArgs e) at System.Collections.Specialized.NotifyCollectionChangedEventHandler.Invoke(Object sender, NotifyCollectionChangedEventArgs e) at System.Collections.ObjectModel.ObservableCollection`1.OnCollectionChanged(NotifyCollectionChangedEventArgs e) at System.Collections.ObjectModel.ObservableCollection`1.InsertItem(Int32 index, T item) at System.Collections.ObjectModel.Collection`1.Insert(Int32 index, T item) at Microsoft.MasterDataServices.Client.ViewModel.MasterData.EntityMembersViewModel.AddNewMemberToCollection(Guid requestId, EntityMembersGetResponse response, Exception ex) at Microsoft.MasterDataServices.Client.ViewModel.ServiceProxy.ServiceClient.<>c__DisplayClass16`2.<ExecuteRequest>b__15(Object sender, RequestCompletedEventArgs`1 e) at Microsoft.MasterDataServices.Client.ViewModel.ServiceProxy.ServiceClient.OnEntityMembersGetCompleted(Object state)
Arguments: Debugging resource strings are unavailable. Often the key and arguments provide sufficient information to diagnose the problem. SeeResolution
The issue was first fixed in the following cumulative update of SQL Server.
Cumulative Update 1 for SQL Server 2014 /en-us/help/2931693
Cumulative Update 9 for SQL Server 2012 SP1 /en-us/help/2931078
Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:
More Information
After installation is complete, you have to open Master Data Services Configuration Manager so that you can upgrade the MDS database.
-
Click Databases, and then click Select Database.
-
Connect to the database that you want to upgrade. When the database is selected, you receive the following message: This database requires an upgrade. You cannot change system settings until the database is upgraded.
-
Click Upgrade Database. The Upgrade Database Wizard opens. Follow the instructions in the wizard to upgrade the database and then click Finish.
Status
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.