C # LINQ осталось присоединиться 2 Datatables - PullRequest
0 голосов
/ 04 апреля 2019

У меня есть 2 Datatables, они должны присоединиться по "UserID", но это не работает.Я прочитал документы и другие решения, но они тоже не будут работать.

var dtjoined = from DataFileInfos in FileInfo.AsEnumerable()
                       join Recips in dtMail.AsEnumerable()
                       on DataFileInfos["UserID"] equals Recips["User name"]
                       into Tb3
                       from Tb3row in Tb3.DefaultIfEmpty()
                       select Tb3;

В конце я хочу получить данные с левым соединением.Я не понимаю суть LINQ, даже читая документы, кто-то может мне это объяснить?

А как мне получить данные?Я бы сделал что-то вроде

foreach(var enum in dtjoined)
{
//do something to add that
myDatatable.rows.add(enum);
}

РЕДАКТИРОВАТЬ: FileInfo:

Datatable FileInfo = new Datatable();
FileInfo.Columns.Add("Anything",typeof(anything));
...
FileInfo.Columns.Add("UserID",typeof(string));

dtMail:

Datatable dtMail= new Datatable();
    dtMail.Columns.Add("Anything",typeof(anything));
    ...
    dtMail.Columns.Add("User name",typeof(string));

Это были мои две таблицы, и я хочу ихприсоединиться к UserID Итак, в конце я получил следующий результат:

[FileInfo Column1] [FileInfo Column2] [FileInfo Column3] [FileInfo UserID] [dtMail E-Mail]
SomeValue            SomeValue             SomeValue          UserID1          SomeMail

1 Ответ

0 голосов
/ 04 апреля 2019

попробуйте этот код ниже, а ниже я просто использовал некоторый класс, чтобы показать вам, как мы можем вернуть пользовательский объект, используя LinQ.

var dtjoined = from DataFileInfos in FileInfo.AsEnumerable()
                   join Recips in dtMail.AsEnumerable()
                   on DataFileInfos.Field<string>("UserID") equals Recips.Field<string>("User name") 
                   select new { FirstColumn= DataFileInfos.FirstColumn, ... }; // or select new { FirstColumn= DataFileInfos.FirstColumn, ... }.ToList();

, это вернет объект и в случае, если вы хотите список, чемвыберите объект DataFileInfos или Recips, или вы также можете создать другой объект, содержащий список.

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