Переформулировать SQl-запрос в LINQ запрос C#
Начинаю разбираться с LINQ и пока не могу понять, как переделать SQL-запрос
insert into Ck
select p.item1, p.item2, ... , p.itemk-1, q.itemk-1
from Lk-1 p, Lk-1 q
where p.item1 = q.item1, p.item2 = q.item2, ... , p.itemk-2 = q.itemk-2,
p.itemk-1 < q.itemk-1
в LINQ.
У меня Ck - это List, а ItemSet - это класс, реализующий словарь типа Dictionary, int). p и q - это List, которые являются ключом в словаре, а p.item и q.item - это элементы типа string.На выходе должен получится объект класса ItemSet.
var nextCadidate = (from pitem in pData
where pitem.Last() < qitem.Last()
select pitem)
.Concat(from qitem in qData
)
Вот пока, что мне удалось придумать, но есть подозрения, что все совсем не так должно быть реализовано. И можно как-то сразу указать два источника данных, чтобы потом сравнивать их элементы?