【发布时间】:2017-07-20 19:51:05
【问题描述】:
例如。
var result = myObject.Where(x => x.prop == 5);
string s = result.toSQL();
结果:
s 是"SELECT * FROM [myObjects] WHERE prop = 5"
【问题讨论】:
标签: entity-framework linq-to-entities
例如。
var result = myObject.Where(x => x.prop == 5);
string s = result.toSQL();
结果:
s 是"SELECT * FROM [myObjects] WHERE prop = 5"
【问题讨论】:
标签: entity-framework linq-to-entities
如果是IQueryable/ObjectQuery,您可以使用ToTraceString。如果是 IDbSet/DbSet 可以直接使用ToString。
【讨论】:
使用 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 派生类的实例。
【讨论】: