4

次の SQL クエリがあり、それを LINQ に変換しようとしましたが、成功しませんでした。

select 
at.financialaccountid,
SUM(creditamount)-SUM(debitamount)
from account_transactions at
where at.financialaccountid = 47
and ledgervisible = 1
GROUP BY at.financialaccountid

クエリの結果

誰かがこれについて私を案内してくれることを願っています。

ありがとう。

4

2 に答える 2

5

以下は、同等の C# LINQ 実装である必要があります。

class AccountTransaction
{
    public int FinancialAccountId { get; set; }
    public bool LedgerVisible { get; set; }
    public decimal CreditAmount { get; set; }
    public decimal DebitAmount { get; set; }
}

var transactions = new List<AccountTransaction>();

var results = from at in transactions
              where at.FinancialAccountId == 4 && at.LedgerVisible == true
              group at by at.FinancialAccountId into g
              select new
              {
                  FinancialAccountId = g.Key,
                  Delta = g.Sum(x => x.CreditAmount) - g.Sum(x => x.DebitAmount)
              };
于 2012-07-18T00:03:19.050 に答える
0
var query =
    from at in account_transactions
    where at.financialaccountid == 47
    && at.ledgervisible == 1
    group at.financialaccountid into g
    select new
    {
        financialaccountid = g.Key,
        balance = g.Sum(at => at.creditamount) - g.Sum(at => at.debitamount)
    };
于 2012-07-18T00:06:52.280 に答える