如何将linq表达式转换为sql字符串使用c#代码

时间:2016-08-16 04:59:20

标签: c# sql linq

如何翻译linq表达式,例如

var query = (from article in ArticleRepository.GetAll()
            join read in ArticleReadRepository.GetAll() on read.ArticleId equals article.Id
            where article.Id>10
            select new 
            {
                article.Title,
                read.ReadCount
            }).ToList();

进入sql string

select article.Title,
       read.ReadCount 
       from ArticleTable as article 
       join ArticleReadTable as read on read.ArticleId = article.Id 
       where article.Id>10

使用c#代码

1 个答案:

答案 0 :(得分:2)

打印query.ToString(),您将看到由LINQ表达式

形成的查询

例如,

var query = from emp in v.Employees
            select emp;
var sqlQuery = query.ToString();
Console.WriteLine(sqlQuery);

结果将是:

SELECT 
[Extent1].[ID] AS [ID], 
[Extent1].[Name] AS [Name]
FROM [dbo].[Employee] AS [Extent1]