2

この構造にオブジェクト (債務者) のリストがあります

 public class DebtorDto 
    {
        public string OutstandingBalance { get; set; }
        public string Name { get; set; }
        public string Company { get; set; }
        public string InvoiceNumber { get; set; }
    }

次のように見えます

OUTSTANDINGBALANCE  NAME    COMPANY  INVOICENUMBER
1500                Debtor1 comp1    1235      
1600                Debtor1 comp3    1236      
150                 Debtor2 comp1    1234      
1700                Debtor2 comp4    1237      
15000               Debtor1 comp1    1238      
150                 Debtor1 comp3    1239      
500                 Debtor4 comp1    1274      
1500                Debtor3 comp3    1634      
500                 Debtor3 comp1    1334      

私がやりたいのは、各債務者が負っている合計金額 (Sum) を提示することです

例(以下の合計金額は正確ではないことに注意してください。私はそれらを作成したばかりですが、上記の金額を合計する必要があります)

Debtor1  31050
Debtor2  3050
Debtor3  1050
Debtor4  41050

私がこれまでに持っているのは

var query = from e in _allDebtors.GroupBy(x => x.Company)
                .Select(y => y.Sum(z => decimal.Parse(z.OutstandingBalance))))))

これにより、実際には以下のような正しい金額が得られますが、債務者の名前を取得する方法もわかりませんか?

31050
3050
1050
41050
4

3 に答える 3

1

次の戻り値を変更する必要がありますSelect

var query = _allDebtors.GroupBy(x => x.Company)
            .Select(y => new { Company=y.Key, Total=y.Sum(z => decimal.Parse(z.OutstandingBalance)) });

これは会社別であることに注意してください。債務者別の場合は、次のようになります。

var query = _allDebtors.GroupBy(x => x.Name)
            .Select(y => new { Name=y.Key, Total=y.Sum(z => decimal.Parse(z.OutstandingBalance)) });
于 2012-05-03T23:11:08.897 に答える
0
var query = from e in _allDebtors.GroupBy(x => x.Company)
                                 .Select(y => new {
                                              Name = y.Key,
                                              Sum = y.Sum(z => decimal.Parse(z.OutstandingBalance))
                                  });
于 2012-05-03T23:11:26.150 に答える
0
 var query = from e in _allDebtors.GroupBy(x => x.Company)
            .Select(y => new {Name = y.Key, TotalAmount = y
                                                 .Sum(z => 
                                                  decimal.Parse(z.OutstandingBalance))});
于 2012-05-03T23:12:20.827 に答える