4

例如。

var result = myObject.Where(x => x.prop == 5);

string s = result.toSQL();

结果:

s"SELECT * FROM [myObjects] WHERE prop = 5"

4

2 回答 2

8

如果是IQueryable/ObjectQuery你可以使用ToTraceString. 如果是 IDbSet/DbSet 可以ToString直接使用。

于 2012-07-05T11:36:02.103 回答
0

使用 EF 6 我无法让 .ToString() 返回类似以下内容的 SQL:

   db.Entry(parent)
   .Collection(p => p.Children)
   .Query()
   .Where(c => c.Active)
   .Load();

然后我记得您可以使用以下命令将其记录到调试输出:

db.Database.Log = (entry) => System.Diagnostics.Debug.WriteLine(entry);

只需在加载查询之前进行上述设置(duh):)

这里的db是一些 DbContext 派生类的实例。

于 2017-07-20T11:51:05.937 回答