Witam.
Standardowy kod do usuwania encji z bazy użyty w klasie generycznej. Niestety nie działa mi to (kod zakomentowany działa). Próba Attacha zwraca komunikat że istnieje inna encja z tym Id która jest już trakowana. Ktoś może mi to objaśnić?
public virtual async Task<ServiceResponse> DeleteAsync(int id)
{
var serviceResponse = new ServiceResponse();
try
{
var entity = Activator.CreateInstance<TEntity>();
entity.Id = id;
_context.Entry(entity).State = EntityState.Deleted;
//var entity = await _context.Set<TEntity>().FirstOrDefaultAsync(x => x.Id == id);
//_context.Entry(entity).State = EntityState.Deleted;
if (await _context.SaveChangesAsync() == 0)
{
serviceResponse.SetError($"Error: Entity Id:{id} not found.", 404);
}
}
catch (Exception ex)
{
serviceResponse.SetError(ex.Message);
}
return serviceResponse;
}