当我们使用 linq to sql 时,很少有可视化工具向我们展示 linq 生成了什么 sql,但是当我们通过 linq 查询对象时,有没有办法获得类似的 sql 语句。例如
string[] names =
new string[] { "Jon Skeet", "Marc Gravell", "tvanfosson",
"cletus", "Greg Hewgill", "JaredPar" };
var results = from name in names
where name.StartsWith("J")
select name;
我们可以从结果中提取 sql 吗?
有人建议使用下面的函数来拥有 sql....
public static class MyExtensions
{
public static string ToTraceString<T>(this IQueryable<T> t)
{
string sql = "";
ObjectQuery<T> oqt = t as ObjectQuery<T>;
if (oqt != null)
sql = oqt.ToTraceString();
return sql;
}
}
是真的吗?如果是,你能告诉我如何将我的结果转换为IQueryable,然后调用ToTraceString()方法。谢谢