我在项目中使用Silverlight 5.0和LinqToSQl以及WCF RIA Services。 我试图找出如何在调试模式下记录基础SQL语句的跟踪(到Sql Server),或将其记录到控制台窗口或文件。我需要这个用于所有CRUD操作。
所有在线样本都指向DataContext.Log属性,但我总是发现它的值为“Nothing”,而且,我无法从项目的客户端获取它。如果可能的话,我计划在继续检索或保存数据之前使用UserInterface来显示实际的SQL语句。这主要用于调试目的。
有没有办法从客户端查看基础SQL语句(使用断点并检查立即窗口中的值,或类似的东西)
感谢。
答案 0 :(得分:0)
如果要记录DataContext执行的sql语句,则需要将TextWriter分配给DataContext的属性Log。
Null是DataContext的默认值Log,因此禁用了日志记录。
要将sql语句记录到控制台,可以将Console.Out分配给属性。
db.Log = Console.Out;
如果您想将日志写入文件,可以为该属性分配StreamWriter。