Aquí me surgió un problema difícil de solucionar pero que no termine de enteder. Al mandar a llamar el constructor del controlador se envía el context y enseguida se llama el método "apiContext.Database.EnsureCreated()", al ejecutar el primer request funcionaba bien, sin embargo, ejecutar un segundo request mandaba una excepción, esto se debía a que en cada request se hace una nueva instancia del controlador y por tanto se llama al constructor y se ejecuta de nuevo esa línea, al parecer se intenta crear de nuevo una db en cada request. Tuve que configurar el parámetro "contextLifeTime" a singleton (igual que en la injección de dependencias) del servicio "AddDbContext". Sin embargo esto sólo limito la instancia de la db pero no la del controlador, asi que tuve que mover "Database.EnsureCoreated()" al constructor del context para que no se ejecutara en cada request. De esta forma los ejercicios funcionaron bien.
Mis preguntas son:
¿Es verdad que se intentan hacer instancias nuevas de la db en cada request si no se configura como singleton?
¿No está funcionando de una forma adecuada "Database.EnsureCoreated()" para mi? ya que yo entendería que esa puede ser su función, verificar si existe la db.
Gracias, Igual excelente curso, lo demás ha funcionado de maravilla. Saludos,