Я пытаюсь преобразовать запрос SQL в запрос LINQ.Любая помощь будет оценена.Вот мой SQL-запрос:
SELECT DISTINCT
U.UserID,
U.LoginID,
U.FirstName,
U.LastName,
U.IsActive,
U.IsApproved,
U.Email,
U.DateLastLogin,
CONVERT(VARCHAR, U.DateLastLogin, 101) AS LastLogin,
U.JobTitle,
U.AgencyName,
U.WorkPhone,
U.Fax,
U.MobilePhone,
U.Satellite,
U.Blackberry,
U.Pager,
U.Address1,
U.Address2,
U.City,
U.StateAbbr,
U.ZipCode,
G.[Name] AS GroupName,
COALESCE( B.UserID, 0 ) AS BTC
FROM dbo.Users U
INNER JOIN dbo.Users_Grantee UG ON U.UserID = UG.UserID
INNER JOIN dbo.Users_Groups UGRP ON UG.UserID = UGRP.UserID
INNER JOIN dbo.Groups G ON UGRP.GroupID = G.GroupID
--Flag for BTC Users
LEFT OUTER JOIN (
SELECT UG2.UserID
FROM dbo.Users_Groups UG2
INNER JOIN dbo.Groups G2 ON UG2.GroupID = G2.GroupID
WHERE G2.GroupClass_ID = 44
) B ON U.UserID = B.UserID
WHERE U.IsAdminUser = 0
AND U.IsActive = @IsActive
AND UG.GranteeID = @GranteeID
AND G.GroupClass_ID = 1 --Grantee GroupClass
AND (U.LastName LIKE @LastName
OR U.FirstName LIKE @FirstName
OR U.Email LIKE @Email
OR U.LoginID = @LoginID)
--Exclude PO users who have grantee access.
AND NOT EXISTS(
SELECT 1
FROM dbo.Users_Groups UG1
INNER JOIN dbo.Groups G1 ON UG1.GroupID = G1.GroupID
WHERE UG1.UserID = UG.UserID
AND G1.GroupClass_ID <> 1
AND G1.GroupClass_ID <> 44
)