estoy usando el siguiente código en uno de mis proyectos:
using (var _context = new DBContext(new DbContextOptions<DBContext>()))
{
try
{
_context.MyItems.Remove(new MyItem() { MyItemId = id });
await _context.SaveChangesAsync();
}
catch (Exception ex)
{
if (!_context.MyItems.Any(i => i.MyItemId == id))
{
return NotFound();
}
else
{
throw ex;
}
}
}
De esta manera, se consulta la base de datos dos veces sólo si se produce una excepción cuando se trata de eliminar el elemento con la identificación especificada. Entonces, si el artículo no se encuentra, devuelve un mensaje significativo; de lo contrario, simplemente devuelve la excepción (puede manejar esto de una manera más adecuada para su caso usando diferentes bloques de captura para diferentes tipos de excepción, agregue más controles personalizados usando bloques, etc.).
[Estoy utilizando este código en un proyecto MVC .Net Core/Core Net con Entity Framework Core.]
http://j.mp/f0x0Bh es su respuesta. Esta es una forma agradable y genérica de hacerlo – BritishDeveloper