我有以下 SQL 查询,我尝试将其转换为 LINQ,但没有任何成功:
select
at.financialaccountid,
SUM(creditamount)-SUM(debitamount)
from account_transactions at
where at.financialaccountid = 47
and ledgervisible = 1
GROUP BY at.financialaccountid
希望有人可以指导我。
谢谢。
我有以下 SQL 查询,我尝试将其转换为 LINQ,但没有任何成功:
select
at.financialaccountid,
SUM(creditamount)-SUM(debitamount)
from account_transactions at
where at.financialaccountid = 47
and ledgervisible = 1
GROUP BY at.financialaccountid
希望有人可以指导我。
谢谢。
以下应该是可比较的 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)
};
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)
};