Linqer не будет делать этот SQL .. :( - PullRequest
1 голос
/ 27 ноября 2010

У меня быстрый запрос, но поскольку моя таблица называется 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 me

1 Ответ

1 голос
/ 09 июня 2011

Очевидно, использование ключевых слов в качестве имен таблиц / столбцов - очень плохая привычка. Пользователь / Пользователи - это ключевое слово в SQL Server. Кроме того, объединения перемешаны, и Linqer или SQL Metal не могут их обработать, однако LinqPad смог понять запрос, но, поскольку это не инструмент преобразования, мне это не помогает. Я, наконец, сделал масштабную операцию переименования, и большинство моих неудачных запросов снова начали работать. Пользователь -> SystemUser

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...