Как объединить два датируемых вместе C # - PullRequest
0 голосов
/ 29 октября 2009

У меня есть две таблицы данных. Один является надмножеством другого. У обоих общий столбец StageID. Мне нужно объединить эти две таблицы, чтобы данные поднабора данных были сохранены в правильной строке таблицы надмножеств.

Это то, что я сделал, чтобы объединить данные после извлечения данных надмножества в JoinTable и данных поднабора в таблице DTMaterialProperties

foreach (DataColumn dcMaterialProp in dtMaterialProperties.Columns) 
{
   if (dcMaterialProp.ColumnName != "StageId" &&  
      JoinDataTable.Columns.Contains(dcMaterialProp.ColumnName))
   {
      JoinDataTable.Rows[rowCount][dcMaterialProp.ColumnName] = 
         dtMaterialProperties.Rows[0][dcMaterialProp.ColumnName];
   }
}

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

Ответы [ 3 ]

0 голосов
/ 29 октября 2009

Если у вас нет доступа к LINQ to DataSet

... вы можете проверить эту ссылку из MSDN о том, как реализовать вспомогательный класс JOIN DataSet.

КАК: реализовать вспомогательный класс DataSet JOIN - Visual C # .NET

0 голосов
/ 29 октября 2009

То, что вы действительно ищете, кажется отношениями. Если вы добавите обе таблицы данных в один и тот же набор данных, вы сможете определить взаимосвязь. См. Определение отношения между двумя таблицами в наборе данных в VB .NET

.

Затем все, что вам нужно сделать, это parentRow.GetChildRows(), чтобы получить связанные дочерние строки.

0 голосов
/ 29 октября 2009

Если вы можете использовать LINQ, проще всего будет использовать метод расширения Join.

См. Примеры синтаксиса запросов на основе метода (LINQ to DataSet)

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