微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当使用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)功能.

原文地址:https://www.jb51.cc/mssql/82028.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐