Я пытаюсь преобразовать хранимую процедуру SQL в LINQ, чтобы провести некоторое тестирование производительности (пытаясь выяснить, ускоряет ли вообще использование LINQ в некоторых наших методах)
Я довольно новичок в том, чтобы что-то делать в LINQ, поэтому я просто изменяю примеры в книгах / онлайн в соответствии со своими потребностями и застрял на чем-то.
Пока у меня есть этот код:
DIM TicketID as INTEGER = 1
DIM s =
FROM User in PersonnelTbl
WHERE !(from t in tblSupportTicketNotifications where t.TicketID = TicketID select t.EmployeeID).Contains(User.EmployeeID)
Select user
Я не уверен, почему, но я получаю сообщение об ожидаемом идентификаторе в строке предложения Where. Может кто-то указать мне верное направление? Приветствия
Я пока основывал свой код на этом примере:
var query =
from c in dc.Customers
where !(from o in dc.Orders
select o.CustomerID)
.Contains(c.CustomerID)
select c;
Это то, что я пытаюсь преобразовать
CREATE PROCEDURE spGetEmployeesToBeNotified
(
@TicketID INT
)
AS
BEGIN
SELECT
ID,
FirstName,
Surname,
FirstName+' '+Surname As FullName,
WorkEmail,
0 AS Checked
FROM
PersonnelTbl
WHERE
ID NOT IN(SELECT EmployeeID FROM tblSupportTicketNotifications WHERE TicketID = @TicketID)
AND
(FirstName IS NOT NULL
AND
FirstName <> ''
AND
Surname IS NOT NULL
AND
Surname <> '')
UNION
SELECT
person.ID,
person.FirstName,
person.Surname,
person.FirstName +' '+person.Surname As FullName,
person.WorkEmail,
1 AS Checked
FROM
PersonnelTbl person
JOIN
tblSupportTicketNotifications notify
ON
person.ID = notify.EmployeeID
WHERE
TicketID = @TicketID
ORDER BY
FirstName ASC,
Surname ASC
END