Ich habe diese Methode:UnitOfWork aktualisiert nicht alle Elemente auf der Grundlage einer Bedingung
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;
}
Was ich versuche, hier zu tun ist, alle InvoiceLines durchlaufen und ihre OfficeUserId aktualisieren. Allerdings gibt es die Bedingung HasTwoUniqueApprovers
und wenn dies false
ist, möchte ich diese Rechnung nicht aktualisieren, aber lassen Sie es einfach.
Ok, so dass die Zeile:
invoiceLine.OfficeUserId = userId;
Wird die Einheit Zustand EntityState.Modified
korrekt aktualisiert werden?
Also, wenn:
_unitOfWork.Save();
Dadurch werden alle InvoiceLines sparen, weil es alles mit spart:
EntityState.Modified
Also, was ich wissen will, ist, wie bestimmte InvoiceLines um zu verhindern, aktualisiert .
Wenn also eine invoiceLine die Bedingung erfüllt, wie stelle ich sie ein, damit sie nicht aktualisiert wird?
Überprüfen Sie Bereiche und Einzüge, Sie haben einen Fehler. Ich habe es irgendwie bearbeitet. – abatishchev