当使用Entity Framework CTP 5“代码”时,如何获得原始SQL基础的LINQ查询?

我在“仅代码”模式中使用了实体框架CTP5.对于从数据库返回的对象,我正在运行一个LINQ查询,因为查询运行速度非常慢.有什么办法可以得到从查询生成sql语句?
Topic currentTopic =
    (from x in Repository.Topics
     let isCurrent = (x.StoppedAt <= x.StartedAt || (x.StartedAt >= currentTopicsstartedAtOrAfter))
     where x.Meeting.Manager.User.Id == user.Id && isCurrent
     orderby x.StartedAt descending
     select x).FirstOrDefault();

“Repository”属性是DbContext的后代.

这有点复杂,因为EF不能在对象上使用我的帮助方法,所以我直接在查询中指定逻辑.

那么,有没有什么办法可以转储由LINQ查询生成sql(例如到我的log4net存储库)?

解决方法

我可以使用sql Trace来直接获取在服务器上运行的查询,也可以使用 ANTS Performance Profiler中的Windows事件跟踪功能(sql Profiling)功能.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 &#39;EastRiver&#39; 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...