none
¿Instalar paquetes en capa de Aplicación? RRS feed

  • Pregunta

  • Hola.

    Tengo una aplicación MVC en capas. En la capa de aplicación se gestionan las Excepciones y se realizan las transformaciones a Dto's para devolver un objeto genérico hacia la capa superior (Cliente). Algo como esto:

    public async Task<Response<List<CountryDto>>> ListAllAsync()
    {
    	var response = new Response<List<CountryDto>>();
    
    	try
    	{
    		response.Data = mapper.Map<List<CountryDto>>(await countryService.ListAllAsync());
    		response.IsSuccess = true;
    		response.Message = "Consulta exitosa!!!";
    	}
    	catch (Exception ex)
    	{
    		response.Message = ex.Message;
    	}
    
    	return response;
    }

    Esto me va bien para controlar Excepciones propias del Framework, pero sucede que debo controlar una DbUpdateConcurrencyException que pertenece al paquete "Microsoft.EntityFrameworkCore" ¿debería instalar este paquete en la capa de aplicación? ¿no rompe con alguna especificación DDD?

    Saludos.



    • Editado Ealdaz lunes, 18 de enero de 2021 0:54
    lunes, 18 de enero de 2021 0:37

Respuestas

  • El DbConcurrencyException es específico de la capa de datos. La capa de aplicación no tendría por qué conocerlo.

    Podrías capturarlo en la capa de datos, y cuando se produzca esa excepción, lanzar una nueva excepción definida en tu propio programa y que sea conocida por ambas capas.

    O podrías simplemente capturar System.Exception (cosa que ya haces) y reportar que "ha ocurrido en la capa de datos un error interno que a este nivel no comprendemos".

    lunes, 18 de enero de 2021 8:41

Todas las respuestas

  • El DbConcurrencyException es específico de la capa de datos. La capa de aplicación no tendría por qué conocerlo.

    Podrías capturarlo en la capa de datos, y cuando se produzca esa excepción, lanzar una nueva excepción definida en tu propio programa y que sea conocida por ambas capas.

    O podrías simplemente capturar System.Exception (cosa que ya haces) y reportar que "ha ocurrido en la capa de datos un error interno que a este nivel no comprendemos".

    lunes, 18 de enero de 2021 8:41
  • Hola,

    ¿Alguna novedad sobre la consulta realizada?

    Gracias por usar los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    lunes, 18 de enero de 2021 15:24
    Moderador