获取EF查询的SQL语句

Posted lytwajue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取EF查询的SQL语句相关的知识,希望对你有一定的参考价值。

在EF编程中我们能够通过lamda表达式能够进行查询数据。获取到IQueryable<T>结果,我们要想知道详细的SQL语句是什么须要使用ObjectQuery<T>进行处理

处理方法例如以下:

            IQueryable<Data> data = this.ObjectContext.Data.Where(d => d.Name.StartsWith("測试"));
            ObjectQuery<Data> oq=data as ObjectQuery<Data>;
            String sql=oq.ToTraceString();

执行结果例如以下:

SELECT 
[Extent1].[ID] AS [ID], 
[Extent1].[Name] AS [Name]
FROM (SELECT 
      [Data].[ID] AS [ID],    
      [Data].[Name] AS [Name]
      FROM [dbo].[Data] AS [Data]) AS [Extent1]
WHERE [Extent1].[Name] LIKE '測试%'





以上是关于获取EF查询的SQL语句的主要内容,如果未能解决你的问题,请参考以下文章

EF Core 执行sql语句

EF Core中执行Sql语句查询操作之FromSql,ExecuteSqlCommand,SqlQuery

c# ef框架怎么使用linq语句多表查询?

EF6中执行Sql语句

Microsoft SQL Server 代码片段收集

EF中使用SQL语句或存储过程