public TableMappingViewModel(TableMapping tableMapping, MappingPageViewModel mappingPageViewModel) { this.viewModel = mappingPageViewModel; ObservableCollection<ColumnMappingViewModel> viewModels = new ObservableCollection<ColumnMappingViewModel>(); foreach (DBColumn column in tableMapping.DestinationTable.Columns) { ColumnMapping columnMapping = tableMapping.ColumnMappings.Where(c => c.DestinationColumn == column).FirstOrDefault(); if (columnMapping == null) columnMapping = new NullColumnMapping(column, tableMapping.AllowedColumnUses()[0]); viewModels.Add(ColumnMappingViewModelCreator.CreateFromColumnMapping(columnMapping, this)); } ColumnMapping[] columnMappings = viewModels.Select(v => v.ColumnMapping).ToArray(); tableMapping.ColumnMappings = columnMappings; this.tableMapping = tableMapping; this.columnsMappingViewModels = viewModels.ToList(); }