2012-02-17 87 views
3

我正在使用LINQ to SQL来处理大部分数据访问层,并试图查看和调优使用的底层SQL。有谁知道一个好的机制来拦截C#LINQ使用的SQL和/或用更多的优化查询替换它吗?LINQ to SQL - Sql调优

+0

有没有一种方法,以取代生成的SQL在运行? – lap 2012-02-17 11:14:32

+0

我想你可以用[自定义存储过程](http://msdn.microsoft.com/en-us/library/bb386946.aspx)替换表现不佳的LINQ查询,这显然会涉及替换C#中的LINQ查询(而不是而不仅仅是“替换”LINQ查询的SQL)。 – onedaywhen 2012-02-17 11:32:19

回答

3

我强烈建议使用LINQPad来分析和优化您的LINQ。您可以显示生成的SQL并检查特定查询所花费的时间。

您也可以将其与使用实体框架的现有项目一起使用。查看更多详情here

+0

现在爱LINQPad - 我今天早上甚至不知道它存在。 – lap 2012-02-17 11:12:58

+0

很高兴听到你喜欢它!实际上我在几周前发现了这个程序,现在我一直在使用它来测试C#方法,编写LINQ和进行数据库查询(我喜欢LINQ语法而不是SQL)。这在StackOverflow中也非常有用,因为您可以非常轻松地测试一些C#源代码或编写示例。 – Tx3 2012-02-17 12:11:57

0

DataContext的本身具有Log属性是一个TextWriter,用这个你可以写出来,无论你想成为它的框架TraceClasses或类似log4net的或NLOG

+0

谢谢 - 会给它一个去。 – lap 2012-02-17 11:13:22