2010-11-27 56 views
0

我有这样的快速查询,但因为我的表被命名为用户(SQL关键字),Linqer(一个SQL到LINQ转换器)未能在SQL查询转换。Linqer不会做这个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 me

+2

看来Linqer不会执行此查询,因为它无法在您连接的数据库中找到用户表,这不是因为SQL语句的复杂性。 – 2010-11-27 12:12:45

回答

0

显然,使用关键字作为表/列纳mes是一个非常不好的习惯。用户/用户是SQL Server中的关键字。另外,连接混乱,Linqer或SQL Metal无法处理它们,但LinqPad能够理解查询,但由于它不是一种转换工具,所以对我来说没有好处。我终于做了一次大规模的重命名操作,大部分失败的查询都开始重新开始。用户 - > SystemUser