从 LINQ 到 SQL 获取 SQL 查询?
- 作者: 无利可图
- 来源: 51数据库
- 2022-12-08
问题描述
我有一个查询,我将 byte[] 作为参数传递.我正在尝试从中获取 SQL 查询并在管理工作室中运行该查询以进行调试.如何从中提取 SQL 语句?
I have a query which I am passing byte[] as a parameter. I am trying to get the SQL query out of it and run that query in management studio to debug. How can I extract the SQL statement from it?
committeeMember =
db.Committee_Member.FirstOrDefault(x => x.Customer_Number == activity.Contact.Number
&& x.Position_Start_Date.Value.Year == activity.EndDate
&& x.Committee_Id == activity.Committee.Id && x.Cancelled != 1);
推荐答案
在调试器中将鼠标悬停在 commiteeMember 变量上 - 它将显示生成的 SQL 查询:
In debugger hover mouse over commiteeMember variable - it will show generated SQL query:
这是ToString() 为查询返回的内容.您可以通过调用 ToString 手动获取相同生成的 SQL 查询:
This is what ToString() returns for query. You can get same generated SQL query manually by calling ToString:
string sql = committeeMember.ToString();
这个重写的方法在内部调用 ObjectQuery.ToTraceString() 返回将在数据源上运行的命令.
This overridden method internally calls ObjectQuery.ToTraceString() which returns commands that will run on data source.
您也可以使用 SQL Profiler 或 Entity Framework Profiler 来查看执行了哪个 SQL 查询.
Also you can use SQL Profiler or Entity Framework Profiler to see which SQL query was executed.
- C#通过fleck实现wss协议的WebSocket多人Web实时聊天(附源码)
- 团队城市未满足要求:MSBuildTools12.0_x86_Path 存在
- 使用 MSBuild.exe 在发布模式下构建 C# 解决方案
- 当我发布 Web 应用程序时,AfterPublish 脚本不运行
- 构建时 T4 转换的产品仅在下一个构建中使用
- ASP.NET Core Application (.NET Framework) for Windows x64 only error in project.assets.json
- 新的 .csproj 格式 - 如何将整个目录指定为“链接文件"到子目录?
- 如何将条件编译符号(DefineConstants)传递给 msbuild
- MSBuild 支持 Visual Studio 2017 RTM 中的 T4 模板
- NuGet 包还原找不到包,没有源
