Linqer不会这样做SQL .. :(

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linqer不会这样做SQL .. :(相关的知识,希望对你有一定的参考价值。

我有这个快速查询,但由于我的表名为User(SQL关键字),Linqer(SQL到LINQ转换器)无法转换SQL查询。

这是查询:

SELECT TOP (100) PERCENT
  dbo.[User].OID,
  dbo.[User].FirstName + ' ' + dbo.[User].LastName AS [User Name],
  COUNT(dbo.AssignedCounty.OID) AS [Counties Assigned],
  dbo.UserType.Name AS [User Type]
FROM
  dbo.UserType
  INNER JOIN dbo.[User] ON dbo.UserType.OID = dbo.[User].UserTypeID
  LEFT OUTER JOIN dbo.AssignedCounty ON dbo.[User].OID = dbo.AssignedCounty.UserID
GROUP BY
  dbo.[User].OID,
  dbo.[User].FirstName + ' ' + dbo.[User].LastName,
  dbo.UserType.Name,
  dbo.[USER].IsActive
HAVING
  (dbo.[User].IsActive = 1)
ORDER BY
  [User Name]

任何人都可以指导我如何解决这个问题吗?我需要LINQ。

答案

显然,使用关键字作为表/列名称是一个非常坏的习惯。 User / Users是SQL Server中的关键字。此外,连接混乱,Linqer或SQL Metal无法处理它们,但LinqPad能够理解查询,但由于它不是转换工具,我没有好处。我终于进行了大规模的重命名操作,我的大多数失败的查询都开始重新开始工作了。用户 - > SystemUser

以上是关于Linqer不会这样做SQL .. :(的主要内容,如果未能解决你的问题,请参考以下文章

构造复杂Lambda困惑之学会用LinqPad和Linqer实现Sql 和 Lambda之间的互转

Linqer 不转换 T-Sql 查询

SQL转Linq工具的使用——Linqer

Linqer无法转换:SQL语法错误:每个GROUP BY表达式必须至少包含一个列引用

我该如何做模态对话框片段(代码在我关闭之前不会执行)

sqlmetal.exe在路径中找不到,即使它在我的机器上正确的路径 - Linqer程序