Преобразование SQL-запросов в LINQ - PullRequest
1 голос
/ 23 марта 2012

Я хочу преобразовать запрос моего SQL Server в LINQ.Запрос:

DECLARE @Cols VARCHAR(MAX)
SELECT @cols = '[24/03/2012],[23/03/2012],[22/03/2012]'
DECLARE @query VARCHAR(MAX)
SET @query = N'SELECT *
FROM
(SELECT ''Total Processed'' as [Total Processed], CONVERT(VARCHAR,datestatuschanged,103) AS ''DATE'',applicationid
            FROM    dbo.vwProductivityRpt
            where status=''Open'') p
PIVOT
(
count(applicationid) FOR DATE IN
( '+
@cols +' )
) AS pvt' 

EXECUTE(@query)

1 Ответ

0 голосов
/ 24 марта 2012

LINQ требует, чтобы все ваши столбцы имели статическое имя.Это означает, что вам нужно создать выражение запроса, используя отражение, что является неприятным видом работы.

В некотором смысле, отражение в .NET делает то же самое, что вы делаете с конкатенацией строк в SQL - вы динамически создаетезапрос, который должен иметь статически именованные столбцы.

Я думаю, вам лучше остаться с SQL для этой конкретной задачи.

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