1

我有这个快速查询,但由于我的表名为 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。

LINQ我

4

1 回答 1

2

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

于 2011-06-09T11:15:04.167 回答