Я изо всех сил пытаюсь преобразовать запрос T- SQL в синтаксис LINQ.
В T- SQL запрос выглядит так:
WITH FailedFiles AS
(
SELECT 1 AS FileExists
FROM [FileHistory] f
INNER JOIN [Users] u ON f.UerId = u.UserId
GROUP by f.FileName
HAVING SUM(CASE f.FileState WHEN 1 /*Success*/ THEN 1 ELSE 0 END) <= 0
AND SUM(CASE f.FileState WHEN 2 /*Failed*/ THEN 1 ELSE 0 END) >= 1
)
SELECT COUNT(1) from FailedFiles
Имеются серьезные проблемы с преобразованием T - SQL выше в LINQ (не имеет значения, синтаксис запроса или синтаксис метода). Может кто-нибудь дать мне подсказку, как должен выглядеть правильный порядок и вложенность запроса LINQ?
что на самом деле делает запрос:
У меня есть таблица истории файлов с несколькими записями для отдельного файла. Необходимо знать, сколько всего неудачных файлов существует. Это означает, что файлы никогда не обрабатывались успешно (состояние 1) и хотя бы один раз обрабатывались с ошибкой (состояние 2). отдельные файлы сгруппированы по имени файла. Результатом запроса является одно число.