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!