复合主键增量

时间:2020-01-17 14:24:39

标签: asp.net-core-mvc entity-framework-core-3.0

此处是EF核心新手。

我正在尝试创建一个维护房地产交易记录的系统。我们从数据库优先方法开始。

我们有一个名为Voucher的实体模型,该实体模型最初具有一个名为VoucherID的主键字段。我们还有一个名为VoucherNumber的第二个字段,用于细分付款方式。

因此,当我们收到付款时,我们会跟踪通过支票收到的款项的总价值,但会将款项应用于付款的不同“部分”,例如毛额,净额或税额。

我们希望所有这些记录的VoucherID都相同,但VoucherNumber是分隔这些“子付款”的唯一编号。

我们已经正确更新了数据库,因此主键是VoucherID和VoucherNumber的组合。我创建了一个视图模型,以帮助在网页上显示多个字段,其中包含Voucher实体模型的数组。

我认为我的问题出在控制器上,因为当我在POST方法中遍历Voucher数组时,它会创建唯一的VoucherID号,但所有VoucherNumbers都保持为1。我想相反的情况

///REVI is the ViewModel
if (ModelState.IsValid)
{
int counter = 1;
foreach(RealEstateVoucherRecord record in REVI.vouchers)
{
if (record.UseEntry)
{
Voucher voucher = new Voucher();
voucher.CashierId = record.CasherID;
voucher.VoucherAmount = record.VoucherAmount;
voucher.PayIndicator = (int)record.payIndicator;
voucher.Description = REVI.Description;
voucher.IssueDate = REVI.DateIssued;
voucher.OriginalCheckAmount = REVI.FullDepositAmount;
voucher.VoucherNumber = counter;
_context.Add(voucher);
}
}
await _context.SaveChangesAsync();
}
return RedirectToAction(nameof(Index));

任何想法都会受到赞赏。

0 个答案:

没有答案
相关问题