【问题标题】:Displaying automatically generated SQL code from column sorting显示从列排序自动生成的 SQL 代码
【发布时间】:2017-01-13 08:49:48
【问题描述】:
当对网络网格中的特定列进行主要排序时,我希望能够在数据库网页上显示那些自动生成的 SQL 代码。
例如,如果您单击数据库网页上的任何列标题,则所选列将作为主排序列进行排序,然后以升序或降序显示结果。
我的问题是,是否可以在排序过程中检索那些自动生成的 SQL 代码并将它们显示到网页上?似乎找不到任何关于此的资源。任何可以用作参考的阅读将不胜感激。
【问题讨论】:
标签:
c#
asp.net-mvc
entity-framework
asp.net-mvc-4
webgrid
【解决方案1】:
您可以使用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