Приращение составного первичного ключа - PullRequest
0 голосов
/ 17 января 2020

EF core newb ie здесь.

Я пытаюсь создать систему, которая ведет записи транзакций с недвижимостью. Мы начали с подхода Database First.

У нас есть сущностная модель с именем Voucher, которая изначально имела поле первичного ключа с именем VoucherID. У нас также есть второе поле, называемое VoucherNumber, которое используется для разделения способа применения платежа.

Поэтому, когда мы получаем платеж, мы отслеживаем общую стоимость денег, полученных чеком, но применяем деньги в разные «порции» того, что они платят, например, брутто, net или налог.

Мы бы хотели, чтобы VoucherID был одинаковым для всех этих записей, но VoucherNumber был бы уникальный номер, разделяющий эти «подплатежи».

Мы правильно обновили базу данных, поэтому первичный ключ представляет собой совокупность VoucherID и VoucherNumber. Я создал модель представления, которая помогает отображать несколько полей на веб-странице, содержащих массив модели сущностей Voucher.

Я думаю, что моя проблема возникает в контроллере, потому что, когда я l oop через массив Voucher в методе POST, он создает уникальные номера VoucherID, но все номера VoucherNid остаются равными 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));

Любые мысли приветствуются.

...