1
resposta

Código do SqlLoggerProvider não aparece no Console

Pessoal Boa Noite

Criei as classes conforme a aula e ajustei conforme proposto nos tópicos solucionados mas continua a não exibir. Nos solucionados está apresentando problema com o método da interface a ser implementada. Verificando o método CreateLogger, em momento nenhum o categoryName traz informação equivalentes a interface sugerida(IRelationalCommandBuilderFactory) Obs .: estou usando a versão 3.1.4.

 public ILogger CreateLogger(string categoryName)
        {
            if (categoryName==typeof(IRelationalCommandBuilderFactory).FullName)
            {
                return new SqlLogger();
            }
            return new NullLogger();
        }

Pesquisando as informações passadas pelo parametro categoryName, achei a classe DbLoggerCategory.Database.Command.Name , utilizei passando a informação somente exibir as query gerados pelo Entity.

O DbLoggerCategory tem outras propriedades, o problema é que está duplicando. Abaixo parte da classe com a alteração.

public ILogger CreateLogger(string categoryName)
        {
            if (categoryName == DbLoggerCategory.Database.Command.Name)
            {
                return new SqlLogger();
            }
            return new NullLogger();
        }

Como estou largando o DAO e estudando Entity , ainda não sei as limitações que pode acontecer com a mudança usando a classe DbLoggerCategory, mas está atendendo, duplicado mais está.

Abraços

Rogerio Pelito

1 resposta

Olá Rogerio, tudo certo?

Realmente pode haver problemas em usar o a versão 3.1, porque o curso foi pensado utilizando o 1.1 e pode haver quebra de compatibilidade entre componentes.

Também essa duplicação pode ser por causa da duplicação de retorno do SqlLogger().

Tem como me confirmar se pode ser isso?

No aguardo!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software