当使用Entity Framework CTP 5“代码”时,如何获得原始SQL基础的
发布时间:2020-12-12 16:37:34 所属栏目:MsSql教程 来源:网络整理
导读:我在“仅代码”模式中使用了实体框架CTP5.对于从数据库返回的对象,我正在运行一个LINQ查询,因为查询运行速度非常慢.有什么办法可以得到从查询生成的SQL语句? Topic currentTopic = (from x in Repository.Topics let isCurrent = (x.StoppedAt = x.StartedAt
我在“仅代码”模式中使用了实体框架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)功能.(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |