实体框架命名查询
本文关键字:查询 框架 实体 | 更新日期: 2023-09-27 18:09:50
我们正在分析Azure的"查询性能洞察"来寻找昂贵的查询,问题是,没有办法将SQL生成与实体框架查询联系起来。
是否有任何扩展方法或其他方法来做这样的事情:
SQL生成:-- BlahMethod
SELECT Id
FROM Table1
实体框架cmd:
Context.Table1.Naming("BlahMethod").ToList()
或者更好:
Context.Table1.ToList() // intercept sql generated by EF and put through reflection the Method and Namespace "MyAssembly.Foo.MyMethodName"
SQL生成:-- MyAssembly.Foo.MyMethodName
SELECT Id
FROM Table1
是的,看看这篇文章记录和拦截数据库操作。
它可以像使用Console一样简单。写:
using (var context = new BlogContext())
{
context.Database.Log = Console.Write;
// Your code here...
}
或者您可以使用日志类:
using (var db = new MyDBContext())
{
db.Database.Log = s => Log.TraceVerbose("DB Context:{0}", s);
...