问题似乎很清楚,但我会添加一个案例
using (var context = new MyEntities())
{
if(context.mytable.Any(row => row.myfield == 2))
{
// do something here
}
}
我是Entity Framework的新手。 我不知道如何检查执行的确切sql查询?
答案 0 :(得分:8)
如上所述,您可以使用SQL事件探查器,LINQPad,EF Profiler等。
另一个鲜为人知的(有些人可能会说是懒惰)技巧是使用ObjectQuery.ToTraceString()
扩展方法。
只需将您的查询转换为ObjectQuery<T>
。
var query = context.mytable.Any(row => row.myfield == 2));
var trace = ((ObjectQuery<MyTable>)query).ToTraceString();
它将吐出要执行的SQL。
最后一分钟的记录非常方便。
答案 1 :(得分:4)
您可以在此处找到类似的问题:How to view generated SQL from Entity Framework?
总而言之,您的选择是:
有关详细信息,请参阅引用的问题。
答案 2 :(得分:0)
如果要连接到SQL Server,可以使用SQL事件探查器来获取生成的SQL。