【发布时间】:2009-11-09 20:57:19
【问题描述】:
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
}
所以我在上面的代码中遇到了一些问题,并且我从主题行中的query.ToList() 行中得到了错误。这是我正在尝试做的事情:
首先,我有一个自定义错误类MyErrorClass。每当我的网站发生错误时,我都会从异常中创建一个MyErrorClass 对象,将异常中的所有数据存储在该对象中,并将信息存储在数据库中。
我正在跟踪的异常属性之一是错误消息 (ErrorMessage)。我在数据库中设置了一个ErrorFilters 表,用户可以在其中根据ErrorMessage 过滤错误。因此,假设您收到大量错误,上面写着“System.Data.SqlClient.SqlException:超时已过期。在操作完成之前超时时间已过或服务器没有响应。”,您想忽略它们。您只需向数据库添加一个过滤器,错误消息为“超时已过期”,并将其设置为忽略。
现在,我上面的类设置为接受错误,并决定是否应该过滤错误。我正在尝试获取具有与错误匹配的ErrorMessage 的所有过滤器的列表。
我确定这很容易解决,我只是不知道如何解决。
【问题讨论】:
-
这个方法返回void,应该怎么做?如果它必须检查是否必须显示错误,那么它应该返回一个布尔值,并且可以找到修复。否则,请更好地解释这个问题。
-
该函数正在执行许多与错误无关的其他事情,重要的是我试图获取与错误匹配的过滤器列表的那 3 行。我解释了你需要知道的一切,你还想知道什么?
标签: c# asp.net linq linq-to-sql