“Somente argumentos que podem ser avaliados no cliente são suportados pelo método String.Contains”

public static void MyFunction(MyErrorClass err)
{
    var query = from filter in DataContext.ErrorFilters select filter;
    query = query.Where(f => err.ErrorMessage.Contains(f.ErrorMessage));
    List<ErrorFilter> filters = query.ToList();
    //...more code
}

Então, estou tendo alguns problemas com o código acima, e estou recebendo o erro da linha de assunto na linha comquery.ToList(). Aqui está o que estou tentando fazer:

Primeiro, tenho uma classe de erro personalizadaMyErrorClass. Sempre que um erro ocorre no meu site, eu crio umMyErrorClass objeto da exceção, armazene todos os dados da exceção nesse objeto e armazene as informações no banco de dados.

Uma das propriedades de exceção que estou acompanhando é a mensagem para o erro (ErrorMessage). eu tenho umErrorFilters tabela configurada no banco de dados onde o usuário pode filtrar erros com base naErrorMessage. Então diga que você está recebendo uma tonelada de erros que dizem "System.Data.SqlClient.SqlException: Timeout expirou. O período de tempo decorrido antes da conclusão da operação ou o servidor não está respondendo.", E você deseja ignorá-los. Você acabou de adicionar um filtro ao banco de dados com o ErrorMessage como "timeout expired" e defini-lo para ignorar.

Agora, minha classe acima está configurada para receber um erro e decidir se o erro deve ser filtrado. Estou tentando obter uma lista de todos os filtros que possuemErrorMessage combinando com o erro.

Tenho certeza que isso é uma solução fácil, eu simplesmente não sei como consertar isso.

questionAnswers(2)

yourAnswerToTheQuestion