У меня есть Datatable под названием sourceTable
с колонками source_Id
, title
и programme_Id
. Второй Datatable - credits
с колонками credit_Id
, programme_Id
. Все столбцы являются типом Int вместо заголовка столбца.Datatables, превышать, присоединяться
Колонка programme_Id
в DataTable credits
является внешним ключом ОТ DataTable sourceTable
То, что я хочу добиться того, чтобы Exceed таблицу sourceTable
с колонной credit_Id
из DataTable credits
.
Я написал код, который работает, НО ОЧЕНЬ медленный, есть лучший способ!, FirstOrDefault поставит 0, если нет элемента, который я ищу, возможно, было бы лучше вернуть нулевое значение вместо 0 для этого случая
sourceTable.columns.Add("credits_Id");
var rowColl = credits.AsEnumerable();
foreach (DataRow row in sourceTable.Rows)
{
var credits_Id =
(from r in rowColl
where r.Field<int>("programme_Id") == Convert.ToInt32(row["programme_Id"].ToString())
select r.Field<int>("credits_Id")).FirstOrDefault<int>();
row["credits_Id"] = credits_Id;
}
У обоих типов данных есть некоторый контент, заполненный из документа xml – Avicena00
Я думаю, что преобразовать в ToString в Convert.ToInt32 (строка ["programme_Id"] не нужно. ToString() – Habib
помогает немного (на одну минуту :), я вхожу в беду, потому что есть много строк – Avicena00