【问题标题】: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

    【讨论】:

    • @phantom 当您接受答案时,如果您也投票给答案,那就太好了。这根本不是强制性的,但它是合理和推荐的。有关更多信息,请查看此帖子:How does accepting an answer work?
    • 谢谢队友 :) @RezaAghaei
    • 很高兴看到这对你有帮助:) @phantom
    猜你喜欢
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    • 2010-10-04
    • 1970-01-01
    • 2017-10-18
    相关资源
    最近更新 更多