我有一个看起来像这样的LINQ查询(最后):
var query = from myTable0 ...
where myTable1.attributeId == 123 && (bunchaStrings.Contains(myTable1.attributeName)) && myTable2.yesNoValue == 'Y'
当我看到查询时,它变成了这个
SELECT ... FROM ... INNER JOIN ... WHERE ... AND (UNICODE([t3].[yesNoValue]) = @p3
所以这里发生的是'Y'的值通过UNICODE函数变成'89'。这一切都很好,但我真的希望能够直接看到@ p3的值,我无法弄清楚如何通过我的var中提供的任何方法来查看该值。
答案 0 :(得分:1)
我建议将生成的SQL传递给输出窗口。在那里,您将能够看到整个SQL和您的参数值。然后它也可以被记录。
可在此处找到代码 - > http://www.u2u.info/Blogs/Kris/Lists/Posts/Post.aspx?ID=11
或者更简单的方法(如果你有一个方便的控制台):
MyDataContext context = new MyDataContext()
context.Log = Console.Out
答案 1 :(得分:1)
您可能也对LINQ to SQL Visualizer感兴趣:http://weblogs.asp.net/scottgu/archive/2007/07/31/linq-to-sql-debug-visualizer.aspx