Sto cercando di aggiornare due tabelle Situation
and SituationCategory
, ma non si sta aggiornando come menzionato nel codice e nell'immagine qui sotto.
public async Task<bool> UpdateSituation(int id, SituationsDto data)
{
Situations result = _mapper.Map<SituationsDto, Situations>(data);
result.Deleted = true;
_context.Entry(result).State = EntityState.Modified;
await _context.SaveChangesAsync();
SituationCategories situationCategory = new SituationCategories();
if (result.SituationCategory != null)
{
if (situationCategory != null)
{
situationCategory.Description = result.SituationCategory.Description;
}
}
await _context.SaveChangesAsync();
}
In questa schermata, ho evidenziato i dati che dovrebbero essere aggiornati:
Per cortesia risponda
Un contesto EF non conosce nulla sugli oggetti a meno che non si colleghi un determinato oggetto a un contesto o, inizialmente, si recuperi un oggetto da un contesto.
Invece di contrassegnare l'entità come modificata:
_context.Entry(result).State = EntityState.Modified;
Dovrai chiamare Update()
, che, inizia a tracciare l'entità e la contrassegna come modificata, quindi, quando chiami SaveChanges()
, le modifiche verranno scritte nel DB:
_context.Update(result);
PS. Chiamerei solo SaveChanges()
una volta, in questo caso, alla fine del tuo metodo.