Sco*_*eam 4 c# sql-server entity-framework .net-4.0 visual-studio-2010
我使用的是VS2010,.NET4和EF4.我希望看到运行它时生成的实际SQL.另外,这是写这个陈述的最佳方式是什么?
这是我的代码:
var cklContactItems = from a in dbTestCenterViews.appvuChecklistExports
where a.MarketChecklistID == MCLID
&& a.checklistSectionID == SID
&& a.fieldGroupOrder != null
orderby a.fieldGroupOrder ascending
select new { a.Column1, a.Column2, a.Column3, a.Column4, a.Column5,a.Column1FieldID,a.Column2FieldID,a.Column3FieldID,a.Column4FieldID,a.Column5FieldID,a.fieldGroupOrderLabel };
Run Code Online (Sandbox Code Playgroud)
Nix*_*Nix 12
var query = (from x in context.MyEntity where x... select x);
(query as ObjectQuery<MyEntity>).ToTraceString();
Run Code Online (Sandbox Code Playgroud)
这将打印到跟踪日志...如果您想要一个简单的跟踪查看器(在Visual Studio之外),请查看DebugView
作为附加说明,我使用/看过的最好的"实时"分析器是Entity Framework Profiler,你必须为此付费,但是有一个试用版可用,它会给你一个与之匹配的SQL代码行.它还承认常见的"问题".安装很简单...你需要添加的是你的应用程序的初始化程序中的一个语句.
**编辑更新以显示如何使用用户代码**
我想我可以为你做所有艰苦的工作......;).因为你使用annoynmous类型只是留下<T>部分.
var cklContactItems = from a in dbTestCenterViews.appvuChecklistExports
where a.MarketChecklistID == MCLID
&& a.checklistSectionID == SID
&& a.fieldGroupOrder != null
orderby a.fieldGroupOrder ascending
select new {
a.Column1,
a.Column2,
a.Column3,
a.Column4,
a.Column5,
a.Column1FieldID,
a.Column2FieldID,
a.Column3FieldID,
a.Column4FieldID,
a.Column5FieldID,
a.fieldGroupOrderLabel
};
System.Diagnostics.Trace.WriteLine((query as ObjectQuery).ToTraceString());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
374 次 |
| 最近记录: |