如何显示实体框架LINQ to SQL运行的完整SQL查询

本文关键字:SQL 运行 to 查询 LINQ 框架 何显示 显示 实体 | 更新日期: 2023-09-27 18:30:03

假设我有一个LINQ查询:

var query = (from person in ctx.People where person.Name == "John" select person);

CCD_ 1是继承自CCD_ 2的上下文。

现在,我如何获得包含参数的完整SQL查询?我试过:

var sql = ((ObjectQuery) query).ToTraceString();
sql = query.String();
context.Database.Log = (s) => sql += s;

第一个解决方案引发一个无效的强制转换异常。第二个解决方案只提供了引用未包含的变量的查询部分。第三个以一种奇怪的格式打印"变量"。

如何显示实体框架LINQ to SQL运行的完整SQL查询

var query = from person in ctx.People where person.Name == "John" select person; string Sql = ctx.GetCommand(query).CommandText;