我可以获得从 LinqDataSource 生成的 T-SQL 查询吗?
我正在使用 LinqDataSource 来填充网格。 但现在我需要 LinqDataSource 生成的 SQL 查询来通过方法传递(不,我无法修改方法以不需要 SQL 查询)。
有没有办法从实例化和配置的 LinqDataSource 获取生成的 SQL 查询?
I´m using the LinqDataSource to populate a grid. But now I need the SQL query that the LinqDataSource generates, to pass around throught methods (no, I can't modify the methods to not need a SQL query).
Is there a way to obtain the generated SQL query from a instantiated and configured LinqDataSource?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
希望这可以帮助。
使用下面的函数将返回一个 SqlQueryText
您可以从该对象重建查询。
来获取传递的
您可以使用 .Params 属性的参数
这是一个例子
var results = db.Medias.Where(somepredicatehere);
ClassThatHasThisMethod.GetFullQueryInfo(yourdatacontexthere, results);
编辑:
抱歉忘记包含 SqlQueryText 数据结构
Hope this helps.
using the function below will return a SqlQueryText
you can rebuild the query from that object.
to get the passed
parameters you can use the .Params property
here is an example
var results = db.Medias.Where(somepredicatehere);
ClassThatHasThisMethod.GetFullQueryInfo(yourdatacontexthere, results);
EDIT:
Sorry forgot to include the SqlQueryText data structures
您可以在运行应用程序时运行 SQL Profiler,这应该会给您带来帮助。
You can run SQL Profiler while running your application and that should give it to you.
查看 LinqPad 进行调试并了解其工作原理。 但如果你想在运行时得到它,我想你就不走运了。
Take a look at LinqPad for debugging and to understand how it works. But if you want it at run-time, I think you're out of luck.
Sql 仅由 Linq to Sql 基础结构在运行时生成。
我认为有一些工具可以在调试器中查看生成的 Sql,但是如果您不打算使用 linq 动态生成 Sql,那么您不应该寻找一个简单的 Sql 设计器吗?
我在 Scottgu 的博客。
The Sql will only be generated by the Linq to Sql infrastructure at runtime.
I think there are some tools to see generated Sql in the debugger, but if you don't plan to use linq to generate your Sql dynamicaly, shouldn't you probably look for a simple Sql designer ?
I Found a Linq To Sql Debug visualizer on Scottgu's blog.