如何在调试模式下过滤数据表行

时间:2014-11-07 16:27:07

标签: c# linq visual-studio-2010 datatable

我写了一个使用强类型数据集和适配器的应用程序。

首先,它从数据库中读取数据并将其存储到类型化的数据表中。此应用程序处理此数据表(添加,删除或更新行),最后将更新的数据写回数据库。

在有时更新的步骤中,应用程序会导致

的例外
  

违反PRIMARY KEY约束'PK_GPS_Events_History'。无法在对象'dbo.GPS_Events_History'中插入重复键。重复键值为(16805552)。

     

该语句已被终止。“} System.Exception {System.Data.SqlClient.SqlException}

表异常时包含约30000行的GPS_Events_History。 如何过滤数据表中的数据以查看ID = 16805552的这一行?我试着通过以下代码过滤它:

dataTable.where(row => row.ID == 16805552)

但是VS2010不允许我在调试器变量窗口中输入任何LINQ表达式。

2 个答案:

答案 0 :(得分:1)

将要调试的结果保存到变量,然后检查变量:

var testData = dataTable.Where(row => row.ID == 16805552);
//once the line above has executed, quickwatch the "testData" variable

can't put lambdas in a quickwatch window,所以这是下一个最好的事情。

答案 1 :(得分:0)

我在快速监视窗口中键入以下命令,它解决了问题:

Select("ID = 16805552")