您可以标记从 ORM 生成的 SQL 以进行故障排除吗?

问题描述

我们在 Web 应用程序(EF 和 LLBlGen)中大量使用 ORM,并且我们有一名 DBA 通过查找导致最多问题的查询来帮助我们提高应用程序的性能。我们有很多访问数据库的 linq 查询,其中一些非常复杂。

有没有办法用一些来自 Linq 查询的标识符来标记生成sql,这样如果 DBA 发现一些不好的 sql,我们就可以轻松地找到生成它的 linq 语句。

解决方法

感谢@ErikEj 为我指明了写作方向。对于 EF Core,我可以使用查询标签 https://docs.microsoft.com/en-us/ef/core/querying/tags

对于 LLBLGen,我可以使用它们为 IQueryable 提供的 MarkWithTag() 扩展方法。 https://www.llblgen.com/Documentation/5.5/LLBLGen%20Pro%20RTF/Using%20the%20generated%20code/Linq/gencode_linq_generalusage.htm#query-tagging

Entity Framework 看起来更难,并且没有特定的方法来实现所需的结果,并且需要添加冗余的 select 或 where 子句。 How to "tag" Entity Framework Queries

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...