【问题标题】:Best way to show the SQL trace of a LINQ query to Entity Framework 3.5向 Entity Framework 3.5 显示 LINQ 查询的 SQL 跟踪的最佳方式
【发布时间】:2010-10-13 05:25:24
【问题描述】:

将 LINQ 查询的 SQL 跟踪显示到 Entity Framework 3.5 的最佳方式?

我正在使用 ASP.net 和 EF 3.5。

Dim dbo As Web.Portal.RBMEntities = New Web.Portal.RBMEntities

Dim Query = From RoleAllocations In dbo.RoleAllocations Where RoleAllocations.user_id = _ID And RoleAllocations.expire_date > Today Select RoleAllocations

' Console write the SQL trace???

谢谢!

【问题讨论】:

标签: asp.net sql entity-framework


【解决方案1】:

我只是尝试这样做:

        Dim TraceString As String = TryCast(Query, ObjectQuery).ToTraceString

效果很好并返回 LINQ 语句的 SQL 跟踪。

【讨论】:

  • 是的,一个隐藏的宝石。我为此创建了一个扩展方法,因为我不会费心将 IQueryable 转换为 ObjectQuery。 :)
【解决方案2】:

使用SQL profiler?...假设您的意思是 SQL Server

【讨论】:

    【解决方案3】:

    Entity Framework Profiler 在这里找到 http://efprof.com/ 非常优雅。

    它很容易开始使用,它还为您的查询提供了一些可能的“问题”提示。它将帮助您了解“EF 引擎盖”下发生的事情。

    它不是免费的,但有 30 天的试用期。我会向 EF 新手推荐它,因为理解 EF 抽象数据库喋喋不休的方式可能会令人困惑。

    设置流畅且轻巧。 下载后,请阅读“How to use.txt”以开始使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-12
      • 1970-01-01
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多