Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Rota de Consulta Get

Olá, tudo bem?

Estou com uma duvida com relação a rota de consulta na api em C#. Esse seria meu controller.

    #region Get Books
    [HttpGet]
    public IActionResult GetBooks([FromQuery] int skip = 0 , [FromQuery] int take = 50)
    {
        try
        {
            var books = _context.Books
                .ToList() 
                .Skip(skip)
                .Take(take)
                .ToList(); 
            
            return Ok(books);
        }
        catch (Exception ex)
        {
            return StatusCode(500, $"Internal server error: {ex.Message}");
        }
    }
    #endregion

Essa seria a resposta:

Internal server error: Method not found: 'Void Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitor..ctor(Microsoft.EntityFrameworkCore.Query.QueryableMethodTranslatingExpressionVisitorDependencies, Microsoft.EntityFrameworkCore.Query.RelationalQueryableMethodTranslatingExpressionVisitorDependencies, Microsoft.EntityFrameworkCore.Query.QueryCompilationContext)'.

Alguém saberia dizer o que pode ser?

Grato!

2 respostas

Olá, Caio!

Pelo que você descreveu e pelo erro que está ocorrendo, parece que há um problema relacionado à versão das dependências do Entity Framework Core que você está utilizando. O erro Method not found geralmente indica que o método que o código está tentando acessar não existe na versão da biblioteca que você está usando. Isso pode acontecer se você tiver atualizado ou misturado versões incompatíveis das bibliotecas do Entity Framework Core.

Aqui estão algumas sugestões que você pode tentar para resolver esse problema:

  1. Verifique as versões das bibliotecas: Confira no seu arquivo de projeto (geralmente o .csproj) quais são as versões do Entity Framework Core que você está utilizando. Certifique-se de que todas as bibliotecas relacionadas ao Entity Framework Core estejam na mesma versão. Por exemplo, se você está usando o Microsoft.EntityFrameworkCore.SqlServer, ele deve estar na mesma versão que o Microsoft.EntityFrameworkCore.

  2. Atualize as bibliotecas: Se as versões estiverem desatualizadas ou se você descobrir que há versões mistas, considere atualizar todas as bibliotecas do Entity Framework Core para a mesma versão mais recente compatível. Você pode fazer isso usando o NuGet Package Manager no Visual Studio ou modificando diretamente o arquivo .csproj e depois executando um dotnet restore.

  3. Revise o código: Como uma medida adicional, revise o código para garantir que não há chamadas a métodos obsoletos ou que foram alterados em versões mais recentes do Entity Framework.

Exemplo prático de como atualizar as bibliotecas via NuGet Package Manager:

  • Abra o Visual Studio.
  • Clique com o botão direito do mouse no projeto e selecione "Manage NuGet Packages".
  • Na aba "Updates", você pode ver as bibliotecas que têm atualizações disponíveis. Selecione as bibliotecas do Entity Framework Core e atualize para a mesma versão mais recente.

Espero que essas dicas ajudem a resolver o problema que você está enfrentando. Qualquer dúvida manda aqui. Bons estudos!

solução!

Deu certoo!!!

Muito obrigado.