"Solo los argumentos que se pueden evaluar en el cliente son compatibles con el 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
}

Así que tengo algunos problemas con el código anterior y recibo el error de la línea de asunto en la línea conquery.ToList(). Esto es lo que estoy tratando de hacer:

En primer lugar, tengo una clase de error personalizada,MyErrorClass. Cada vez que se produce un error en mi sitio, creo unMyErrorClass objeto de la excepción, almacene todos los datos de la excepción en ese objeto y almacene la información en la base de datos.

Una de las propiedades de excepción que estoy siguiendo es el mensaje para el error (ErrorMessage). Yo tengo unErrorFilters tabla configurada en la base de datos donde el usuario puede filtrar errores en función de laErrorMessage. Entonces, diga que está recibiendo una tonelada de errores que dicen "System.Data.SqlClient.SqlException: El tiempo de espera expiró. El tiempo de espera transcurrido antes de que se complete la operación o el servidor no responde", y desea ignorarlos. Simplemente agregue un filtro a la base de datos con ErrorMessage como "expiró el tiempo de espera" y configúrelo para ignorarlo.

Ahora, mi clase anterior está configurada para tomar un error y decidir si el error debe filtrarse. Estoy tratando de obtener una lista de todos los filtros que tienen unaErrorMessage coincidiendo con la del error.

Estoy seguro de que esta es una solución fácil, simplemente no sé cómo solucionarlo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta