Member 11312264 Ответов: 1

Я хочу объединить 2 таблицы данных на нескольких условиях в C# с помощью LINQ


Я хочу объединить 2 таблицы данных на нескольких условиях в c# с помощью LINQ
var resultingTable1 = from t1 in dtresult.AsEnumerable()
                      join t2 in DB1.AsEnumerable()
                        on new { 
                          LoginID = t1.Field<string>("LoginID"), 
                          ReportDate = t1.Field<DateTime>("ReportDate") } 
                        equals new { 
                          LoginID = t2.Field<string>("Login ID"), 
                          ReportDate = t2.Field<DateTime>("Login time") }
                        select new { t1, t2 };

получение недопустимой ошибки приведения

Что я уже пробовал:

var resultingTable1 = from t1 in dtresult.AsEnumerable()
                                      join t2 in DB1.AsEnumerable()
                                          on new { LoginID = t1.Field<string>("LoginID"), ReportDate = t1.Field<DateTime>("ReportDate") } equals new { LoginID = t2.Field<string>("Login ID"), ReportDate = t2.Field<DateTime>("Login time") }
                                      select new { t1, t2 };

Andy Lanng

Не могли бы вы показать нам некоторые данные в t1 и t2, пожалуйста. Это выглядит так t2.Field<DateTime> это не получение даты-времени с поля.

Ehsan Sajjad

как выглядят данные в таблицах данных?

Jon McKee

Как упоминал Энди, не могли бы вы опубликовать свои классы таблиц данных? Опубликованный код должен работать нормально, если он правильно настроен.

1 Ответов

Рейтинг:
4

Member 11312264

Я получил ответ..
Изменил тип данных с datetime на string..

Спасибо всем..

Я использую динамические таблицы данных. Поэтому я не использую никаких табличных классов.