Asp.net mvc Linq在控制器中求和并传递到查看ASP NET CORE 2.1

Asp.net mvc Linq在控制器中求和并传递到查看ASP NET CORE 2.1,asp.net-mvc,linq,asp.net-core,Asp.net Mvc,Linq,Asp.net Core,我想询问如何将linq写入控制器中的sum并添加到表子“”中的视图 我的模型1 public class ChartAccount { [Key] public int ChartId { get; set; } public int Kodeakun { get; set; } public string Namaakun { get; set; } public int Saldo { get; set; } public virtual IC

我想询问如何将linq写入控制器中的sum并添加到表子“”中的视图

我的模型1

public class ChartAccount
{
    [Key]
    public int ChartId { get; set; }
    public int Kodeakun { get; set; }
    public string Namaakun { get; set; }
    public int Saldo { get; set; }
    public virtual ICollection<Transaction> Transaksilist { get; set; }
}
我还想用debit和kredit中的值填充表saldo

在chartaccount视图(索引)中(我用迁移时的初始值填充)

在事务视图中(索引)

我想在控制器中编写linq。我想在chartaccount controller中以索引或详细信息编写什么方法

    // GET: ChartAccounts
    public async Task<IActionResult> Index()
    {
        return View(await _context.Accounts.ToListAsync());
    }

    // GET: ChartAccounts/Details/5
    public async Task<IActionResult> Details(int? id)
    {
        if (id == null)
        {
            return NotFound();
        }

        var chartAccount = await _context.Accounts
            .FirstOrDefaultAsync(m => m.ChartId == id);
        if (chartAccount == null)
        {
            return NotFound();
        }

        return View(chartAccount);
    }
它有借记卡。所以我的图表账户应该是这样的

|Kodeakun|Namaakun  |Saldo|
|10000   |Asset     |0    |
|20000   |Utang     |0    |
|30000   |Modal     |0    |
|40000   |Pendapatan|0    |
|Kodeakun|Debit     |Credit   |Deskripsi|
|10000   |1.000.000 |0        |Kas      |
|20000   |0         |1.000.000|Utang    |
|Kodeakun|Namaakun  |Saldo    |
|10000   |Asset     |1.000.000|
|20000   |Utang     |1.000.000|
|30000   |Modal     |0        |
|40000   |Pendapatan|0        |
基本上Debit是(+),Kredit是(-),所以我在Debit和Kredit中插入了2个Kas,结果在saldo中是1.000.000(2.000.000-1.000.000)


对不起,我的英语是

您必须将
GroupBy
与sum一起使用并构造一个新对象:

data.GroupBy(el => el.Kodeakun).Select(group => new ChartAccount
        {
            Saldo = group.Sum(item => item.Debit) - group.Sum(item => item.Credit),
            Kodeakun = group.Key,
            Namaakun = // take it from appropriate field
        });

共有哪些列?请把你的控制代码贴出来,我会修改我的问题。请继续关注,我希望groupby kodeakun和sum debit和kredit出现在模型2中,结果将发布在模型1的saldo表中。顺便说一句,在印尼,信用卡是kredit:)你能再详细一点吗?您有哪些输入,希望有哪些输出?实际上,我认为您的问题与以下事实有关:
强类型视图
,实体模型定义为模型。您可能应该看看
ViewModel
。然后,你可以在你的
视图模型中添加一个属性,加上你想要的总和:)@Sakuto,你能给我提供一个链接参考或一本书吗?到目前为止,我自己已经编写了代码,但我被卡住了here@DavidBudiman
    // GET: ChartAccounts
    public async Task<IActionResult> Index()
    {
        return View(await _context.Accounts.ToListAsync());
    }

    // GET: ChartAccounts/Details/5
    public async Task<IActionResult> Details(int? id)
    {
        if (id == null)
        {
            return NotFound();
        }

        var chartAccount = await _context.Accounts
            .FirstOrDefaultAsync(m => m.ChartId == id);
        if (chartAccount == null)
        {
            return NotFound();
        }

        return View(chartAccount);
    }
        //public DbSet<Transaction> Transaksi { get; set; }
        //public DbSet<ChartAccount> Accounts { get; set; }
        var a = from s in _context.Transaksi
                group s by s.Transactions.Kodeakun;
|Kodeakun|Debit     |Credit   |Deskripsi|
|10000   |1.000.000 |0        |Kas      |
|20000   |0         |1.000.000|Utang    |
|10000   |0         |1.000.000|Kas      |
|10000   |1.000.000 |0        |Kas      |
|Kodeakun|Namaakun  |Saldo    |
|10000   |Asset     |1.000.000|
|20000   |Utang     |1.000.000|
|30000   |Modal     |0        |
|40000   |Pendapatan|0        |
data.GroupBy(el => el.Kodeakun).Select(group => new ChartAccount
        {
            Saldo = group.Sum(item => item.Debit) - group.Sum(item => item.Credit),
            Kodeakun = group.Key,
            Namaakun = // take it from appropriate field
        });