No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Eliminando datos con Entity framework

24/25
Recursos

Aportes 4

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Esta es otra alternativa de validación; de esta forma no es necesario englobar todo el proceso dentro de un if. Esto hace que sea un poco más legible el código.

app.MapDelete("/api/task/{id}", async ([FromServices] TasksDBContext dbContext, [FromRoute] Guid id) => {
    var task = dbContext.Tasks.Find(id);

    if(task == null)
        return Results.NotFound("Task not found.");
        
    dbContext.Remove<efFundamentals.Models.Task>(task);
    await dbContext.SaveChangesAsync();

    return Results.Ok("Removed!");
});

Pueden agregar pequeños comentarios de confirmación como los siguientes así queda mas bonito:

return Results.Ok($"Se actualizo la tarea de nombre: {tareaActual.Titulo}");
//----------------------------------------------------
return Results.Ok($"Tarea con titulo: {tareaActualDelete.Titulo}, se elimino exitosamente");

Eliminando datos con Entity framework


app.MapDelete("/api/tareas/{id}", async ([FromServices] HomeworkContext dbContext, [FromRoute] Guid id) =>
{
	var tarea = await dbContext.homeworks.FindAsync(id);
	if (tarea == null)
	{
		return Results.NotFound();
	}
	dbContext.homeworks.Remove(tarea);
	await dbContext.SaveChangesAsync();
	return Results.Ok(tarea);
});

Este código es parte de una aplicación de servidor web que utiliza el framework ASP.NET Core. En este caso, se define una ruta de borrado para una tarea específica en un API RESTful.

  • La ruta de borrado se define mediante el método MapDelete y se accede a través del endpoint /api/tareas/{id}, donde {id} es una variable que se reemplaza con el identificador único de la tarea a borrar.
  • El parámetro [FromServices] HomeworkContext dbContext indica que se está inyectando una instancia del contexto de base de datos en la función anónima. Esto se logra mediante el contenedor de dependencias de ASP.NET Core.
  • El parámetro [FromRoute] Guid id indica que se está obteniendo el identificador de la tarea a borrar de la ruta de la solicitud.
  • Dentro de la función anónima, se usa await dbContext.homeworks.FindAsync(id) para buscar la tarea a borrar en la base de datos. Si la tarea no se encuentra, se devuelve un resultado Results.NotFound(). De lo contrario, se elimina la tarea llamando al método dbContext.homeworks.Remove(tarea). Finalmente, se guardan los cambios en la base de datos llamando a await dbContext.SaveChangesAsync() y se devuelve un resultado Results.Ok(tarea) que contiene la tarea borrada.

Esta es mi forma de actualizar las CATEGORÍAS.

<//Para ACTUALIZAR CATEGORIAS datos de una Base de Datos.
app.MapPut("/api/categorias/{id}", async ([FromServices] TareasContext dbContext, [FromBody] Categoria categoria, [FromRoute] Guid id) =>
{
    //El método FIND, busca por la que esté marcada como KEY en el modelo.
    var categoriaActual = dbContext.Categorias.Find(id);

    if (categoriaActual != null)
    {
        //categoriaActual.CategoriaId = categoria.CategoriaId;
        categoriaActual.Nombre = categoria.Nombre;
        categoriaActual.Peso = categoria.Peso;
        categoriaActual.Descripcion = categoria.Descripcion;
        await dbContext.SaveChangesAsync();
        return Results.Ok("Se realizó la ACTUALIZACIÓN de la CATEGORÍA de manera correcta");

    }
    return Results.NotFound();
});>