私はこの方法を持っています:
public bool UpdateOfficeApprovers(IList<int> invoiceLinesToUpdate, int userId)
{
foreach (var invoiceLineId in invoiceLinesToUpdate)
{
var invoiceLine = _unitOfWork.InvoiceLineRepository.Get(invoiceLineId);
invoiceLine.OfficeUserId = userId;
if (!invoiceLine.HasTwoUniqueApprovers)
{
// do something here to avoid this line being updated
}
}
_unitOfWork.Save();
return hasUniqueApprovers;
}
私がここでやろうとしているのは、すべてのinvoiceLinesを調べて、それらのOfficeUserIdを更新することです. ただし、条件がHasTwoUniqueApprovers
あり、この場合、false
このinvoiceLineを更新したくありませんが、そのままにしておきます。
わかりましたので、次の行:
invoiceLine.OfficeUserId = userId;
エンティティの状態を更新してEntityState.Modified
修正しますか?
そうするとき:
_unitOfWork.Save();
これにより、次のすべてが保存されるため、すべてのinvoiceLINEsが保存されます。
EntityState.Modified
だから私が知りたいのは、特定のinvoiceLInesが更新されないようにする方法です。
では、invoiceLine が条件を満たしている場合、更新されないように設定するにはどうすればよいでしょうか?