ここでLinq noob。これを修正するにはどうすればよいですか?
var result = (from row in rulestable.AsEnumerable()
let sup = row.Field<int>("Supplier")
let amo = row.Field<decimal>("Amount")
let adv = row.Field<decimal>("Advance")
let bal = row.Field<decimal>("Balance")
let vat = row.Field<decimal>("VatRate")
group row by new { sup, vat } into grp
select new
{
Supplier = grp.Key.sup,
Amount = grp.Sum(grp => grp["amo"]),
Advance = grp.Sum(grp => grp["adv"]),
Balance = grp.Sum(grp => grp["bal"]),
VatRate = grp.Key.vat
}).ToList();
Supplier と VatRate の 2 つの列でデータテーブル "rulestable" をグループ化したいと考えています。結果のAmount、Advance、およびBalanceは、グループ化された列の合計に設定する必要があります。
grp.Sum で「型引数を使用法から推測できません」というエラーが表示されます。ただし、この式はすべて間違っていると思います。必要なソース列ではなく、結果列を合計すると思います。
例:
入力データテーブル:サプライヤー、金額、前払い、残高
、
VatRate S1、10、5、5、1
S1、10、5、5、1
期待される出力:
S1、20、10、10、1
これを行う最善の方法は何ですか?