【发布时间】:2015-01-16 17:29:31
【问题描述】:
我想以某种方式编写 Entity Framework 或 LINQ to SQL 查询,以便当我在 SQL Server Profiler 中看到 SQL 查询时,我可以快速确定哪个 LINQ 语句生成了该 SQL,而无需进入调试器并对其进行跟踪.该应用程序不会使用存储过程,因此可以很容易地通过过程名称进行搜索。
有什么想法吗?有没有办法在 LINQ 查询中注入带有代码的静态字符串,仅用于识别查询而不影响查询结果?
更新
我添加这个以响应日志记录建议。我不想让日志一直在生产中运行,以防万一出现问题时我需要查看一些 SQL。寻找一种对性能成本最低的方法。将一些唯一的字符串附加到每个 linq 语句,以便代码可以很容易地与 SQL 相关联?
【问题讨论】:
-
使用 Linq2SQl,您可以将
Log属性设置为任何 TextWriter,不确定 EF。 -
@leppie 我不想记录。这可以在生产中
-
为什么不按进程过滤(假设所有内容都来自“linq”)?
-
一切都来自 IIS。这是一个 ASP.NET 应用程序。我不明白按进程过滤如何告诉您哪个 SQL 与哪个 LINQ 语句一起使用。
标签: c# linq entity-framework linq-to-sql linq-to-entities