に基づいて、すべての項目を更新しません:たUnitOfWorkは、私は、このメソッドを持っている状態
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を更新したくないだけです。
[OK]を行よう:
invoiceLine.OfficeUserId = userId;
は正しいEntityState.Modified
にエンティティの状態を更新しますか?
ので:だから私は知りたいんだが更新されてから一定のinvoiceLInesを停止する方法である
EntityState.Modified
:
_unitOfWork.Save();
それはですべてのものを保存しているためこれは、すべてのinvoiceLInesが保存されます。
したがって、invoiceLineが条件を満たす場合、どのように設定して更新されないのですか?
スコープとインデントをチェックすると間違いがあります。私は何とか編集しました。 – abatishchev