我希望能够在网格中的特定列上进行主要排序时,在数据库网页上显示这些自动生成的SQL代码。
对于Instance,如果单击数据库网页上的任何列标题,则所选列将被排序为主排序列,然后按升序或降序显示结果。
我的问题是,是否可以在排序过程中检索自动生成的SQL代码并将其显示在网页上?似乎也找不到任何关于此的资源。任何可以作为参考的阅读将非常感激。
答案 0 :(得分:2)
您可以使用Context Log property
轻松完成此操作。
using (var context = new BlogContext())
{
context.Database.Log = Console.Write;
// Your code here...
}
您可以将其用于记录到不同的地方。例如log to memory
,file
以及使用不同类型的TextWriter。
public class MyLogger
{
public void Log(string component, string message)
{
Console.WriteLine("Component: {0} Message: {1} ", component, message);
}
}
//This could be hooked up to the EF Log property like this:
var logger = new MyLogger();
context.Database.Log = s => logger.Log("MyEFApp", s);
您可以参考此文档以获取更多信息:Logging and Intercepting Database Operations