Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

Снова не понимаю LINQ.

275  
Murr патриот24.09.19 17:40
Murr
24.09.19 17:40 

Снова не понимаю LINQ.


Дана строго типизировання табличка TOrder.Table.

И еще одна строго типизированная табличка TOrderPosition.Table.


Внутри одного из методов TOrder.Table джойним обе таблички:



var orderitems = this.Cast<Row>()
.Join(auf_pos.Cast<TOrderPosition.Row>(),
order => order.OrderNo,
pos => pos.OrderNo,
(order, pos) => new { Order = order, Pos = pos }
)

.Select(q => q);


Т.е. получили (это работает) пары ссылок на обе строки в обоих табличках.


Теперь нужно пересчитать кучку значений в ордере базируясь на деталях из второй таблицы:


var ordergeneral = orderitems
.GroupBy(r => new { OrderNo = r.Order.OrderNo })
.Select(g => new
{

g.Key.OrderNo,
ABC = g.Sum(t => t.Data),
// here need a reference to TOrder.Row for r.Order.OrderNo

});


Не понимаю как подставить первую (там по одной строке с уникальным ОрдерНо) строку из TOrder.Table в ordergeneral?

Могу дать ключ, но это не требуется - требуется строка куда надо складывать уже подсчитанное подсчитанное.


#1 
Murr патриот24.09.19 19:07
Murr
NEW 24.09.19 19:07 
в ответ Murr 24.09.19 17:40

Вопрос снят - надо было просто выйти и перекурить этот вопрос.

Неправильная последовательность действий - посчитать можно без джойна, а собирать - потом.


#2