C# объединяет две таблицы данных с помощью LINQC#

Место общения программистов C#
Ответить
Anonymous
 C# объединяет две таблицы данных с помощью LINQ

Сообщение Anonymous »

У меня есть 2 таблицы данных:
  • DataTable table1 --> импорт данных из файла Excel
Пример данных:
Account, Name, Address, Phone
A05911, Test1, LA, 1234
A05912, Test2, NY, 1235
A05912, Test2, NY, 1235
A05913, Test3, BO, 1239
  • DataTable table2 — импорт данных из базы данных SQL
Пример данных:
Account, Dummy
A05911, yyyy1
A05912, xxxx2
A05913, zzzz3

Я хочу объединить эти две таблицы данных, чтобы результирующая таблица данных была следующей:
Account, Dummy, Name, Address, Phone
A05911, yyyy1, Test1, LA, 1234
A05912, xxxx2, Test2, NY, 1235
A05912, xxxx3, Test2, NY, 1235
A05913, zzzz4, Test3, BO, 1239

Я попробовал выполнить следующий запрос:
var result = ( from a in table1.AsEnumerable(),
join b in table2.AsEnumerable()
on a.Field("Account") equals b.Field("Account")
into temp from res in temp.DefaultIfEmpty()
select new
{
Account = a.Field("Account"),
Test = res == null ? null : res.Field("Dummy")
});

Но этот запрос не возвращает все столбцы из таблицы 1 и столбец «Фиктивный» из таблицы 2. Он возвращает только «Аккаунт» из таблицы 1 и его «Функцион» из таблицы 2.
Как мне этого добиться, а также как сохранить результат этого запроса в таблице данных?Мне нужен следующий результат в таблице данных:
Account, Dummy, Name, Address, Phone
A05911, yyyy1, Test1, LA, 1234
A05912, xxxx2, Test2, NY, 1235
A05912, xxxx3, Test2, NY, 1235
A05913, zzzz4, Test3, BO, 1239


Подробнее здесь: https://stackoverflow.com/questions/733 ... using-linq
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»