我发誓以前我已经看过如何做到这一点,但现在我真的需要这样做,我不记得我在哪里看到它.我需要两件不同的东西 -
1)查看由LINQ查询生成的实际SQL查询和2)当 SQL查询实际命中数据库以执行任何操作时(CRUD操作)
有没有一个工具可以让我这样做?
编辑:
对不起,应该给出更多细节. - LINQ to Entities就是我正在使用的. - 另外,我对我们的SQL Server实例没有管理员权限,所以我不能使用SQL事件探查器.我总是可以打电话给DBA并让他们为我做,但这很麻烦.我应该提到这一点而且我道歉.我真正想要的是一个工具,我可以在我自己的盒子上使用,这将允许我在调试模式(调试和单步执行代码)时查看LINQ查询何时到达数据库.
尝试使用SQL事件探查器.很高兴看到LINQ to SQL正在生成什么.
SQL事件探查器是一种图形工具,允许系统管理员监视Microsoft®SQLServer™实例中的事件.您可以捕获有关每个事件的数据并将其保存到文件或SQL Server表中,以便稍后进行分析.例如,您可以通过执行太慢来监视生产环境以查看哪些存储过程妨碍了性能.
LINQPad也是编写linq和sql语句进行测试的好工具.
LINQPad使用.NET的CSharpCodeProvider(或VBCodeProvider)编译您的查询.因为C#和VB是静态类型的,所以您引用的任何数据库对象都需要支持类型化的DataContext.为了提高性能,LINQPad使用Reflection.Emit动态构建类型化的DataContexts,而不是生成和编译源代码.它使用LINQ to SQL而不是Entity Framework,因为LINQ to SQL在实例化时构建元模型的速度要快一个数量级.
| 归档时间: |
|
| 查看次数: |
3227 次 |
| 最近记录: |