从Linq To Entities可视化生成的SQL

Pet*_*ter 4 linq-to-entities visual-studio

我正在寻找一种方法来查看我的L2E代码为调试目的生成的sql是什么.我已经阅读了Scott G.在Linq2SQL的可视化工具上博客文章,但我无法让它适用于L2E.

你知道从L2E可视化生成的SQL的某种方法吗?

我使用的是Visual Studio 2008 SP1 Professional.

Tio*_*ion 7

Class ObjectQuery有一个ToTraceString()函数.但是,您在LINQ中编写的大多数查询都是作为IQueryable创建的,因此您首先必须将它们转换为ObjectQuery才能使用它.

或者,如果您定义此扩展方法,则可以将其与IQ一起使用

public static string ToTraceString<T>(this IQueryable<T> expression)
        {                

            ObjectQuery<T> objectQuery = expression as ObjectQuery<T>;    
            if (objectQuery != null)
            {
                return objectQuery.ToTraceString();
            }
            return "";

        }
Run Code Online (Sandbox Code Playgroud)

...

//then you could use it like this
IQueryable<Record> records = db.Record.Where(r=>r.Value > x);

string generatedQuery = record.ToTraceString();
Run Code Online (Sandbox Code Playgroud)