Asp.net mvc Linq在控制器中求和并传递到查看ASP NET CORE 2.1
我想询问如何将linq写入控制器中的sum并添加到表子“”中的视图 我的模型1Asp.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
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
});