.net 使用实体框架(EF)时如何查找通过ODAC发送到Oracle数据库的查询

.net 使用实体框架(EF)时如何查找通过ODAC发送到Oracle数据库的查询,.net,oracle,entity-framework,odac,.net,Oracle,Entity Framework,Odac,我正在为EntityFramework使用Oracle ODAC。我正在尝试使用entityframework开发一个示例silverlight应用程序。我已经添加了我的domainservice,通过它我可以发布我的实体。我是UI的代码隐藏文件。我已经编写了以下代码 var threemonthsold = DateTime.Now.AddMonths(-3); var query = serverContext.GetSR_MERGED_DATAQuery().Where(t => t

我正在为EntityFramework使用Oracle ODAC。我正在尝试使用entityframework开发一个示例silverlight应用程序。我已经添加了我的domainservice,通过它我可以发布我的实体。我是UI的代码隐藏文件。我已经编写了以下代码

var threemonthsold = DateTime.Now.AddMonths(-3);
var query = serverContext.GetSR_MERGED_DATAQuery().Where(t => t.SR_DATE_RECD > threemonthsold);

var regionLoadOp = serverContext.Load(query);
dataGrid.ItemsSource = regionLoadOp.Entities; 
我想知道向oracle发送了什么查询。由于操作时间越来越长,应用程序正在崩溃。看起来查询需要很长时间。如果我能找到这个查询,我可以直接在oracle上运行它,并找出它需要多长时间

非常感谢您的帮助


谢谢

在以下目录中找到了此问题的答案:


在中找到此问题的答案:


如果您通过网络发送查询,这是查看正在传输的实际数据包的一种很好的方法。如果为数据包过滤器(不是捕获过滤器,而是主页上的过滤器,在无效/有效输入时变为红色/绿色)键入
TNS
in,则可以看到Oracle数据包

tns过滤并查找数据包,搜索数据包字节中的字符串“select”。>


似乎有必要显示数据包的不同部分,但您可以查看数据字节并看到显示SQL语句的ASCII文本(您还将看到大量会话打开/关闭垃圾)

如果您通过网络发送查询,这是查看正在传输的实际数据包的好方法。如果您在数据包筛选器中键入
TNS
(不是捕获筛选器,而是主页上的筛选器,在无效/有效输入时变为红色/绿色),您可以看到Oracle数据包

tns过滤并查找数据包,搜索数据包字节中的字符串“select”。>

似乎有必要显示数据包的不同部分,但您可以查看数据字节并看到显示SQL语句的ASCII文本。(您还将看到大量打开/关闭会话的垃圾邮件。)

cshay Dec 3, 2011 9:58 AM (in response to 900653)
You can turn on ODP.NET tracing. See the ODP.NET doc for more details:

1) Close VS
2) In windows registry, change registry value 
    \\HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ODP.NET\4..........\TraceLevel
    to 1
3) Relaunch VS
4) Reproduce the problem
5) Close VS2010
6) Look for the odpnet trace file in the root of C I believe.
7) Undo the registry value (set it back to 0) so you don't impact performance