我写了一个使用强类型数据集和适配器的应用程序。
首先,它从数据库中读取数据并将其存储到类型化的数据表中。此应用程序处理此数据表(添加,删除或更新行),最后将更新的数据写回数据库。
在有时更新的步骤中,应用程序会导致
的例外违反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表达式。
答案 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")