Мой вопрос похож слишком THISСлияние двух DataTables с LINQ
У меня есть два DataTables:
DataTable 1:
Column 1: Date
Column 2: Requests 1
DataTable 2:
Column 1: Date
Column 2: Requests 2
мне нужен сильфона результат:
Новый DataTable:
Column 1: Date
Column 2: Requests 1
Column 3: Requests 2
Ожидаемый результат:
Date Requests 1 Requests 2 Total
15/08/2013 25 40 60
14/08/2013 40 60 100
13/08/2013 40 0 25
12/08/2013 0 80 80
То, что я делал до настоящего времени:
DataTable Lista_1 = ds.Tables[0];
DataTable Lista_2 = ds.Tables[1];
var myLINQ = from l1 in Lista_1.AsEnumerable()
join l2 in Lista_2.AsEnumerable()
on l1.Field<DateTime>("Date") equals l2.Field<DateTime>("Date")
select new
{
dateRelatorio = l1.Field<DateTime>("Date"),
request1Relatorio = l1.Field<int>("Total"),
request2Relatorio = l2.Field<int>("contagem"),
total = l1.Field<int>("Total") + l2.Field<int>("contagem")
};
И I хотел бы вернуть IList коллекцию (System.Collections.IList)
UPDATE
listReturn = new List<Stats>();
public class Stats
{
public DateTime dateRelatorio { get; set; }
public int request1Relatorio { get; set; }
public int request2Relatorio { get; set; }
public int total { get; set; }
}
UPDATE 2
Может иметь даты в List_1, что Eсть не List_2 и наоборот, так Запрос должен быть 0.
Код кажется прекрасным, просто добавьте '.ToList()' – SWeko
'Ilist'? Вы не можете вернуть анонимный тип из метода. –
Что делать, если в первой таблице три строки с датой «15/08/2013» и две строки с одинаковой датой во второй таблице? Вам нужно 6 строк в таблице результатов? –