Не могли бы вы уточнить один момент для меня, хотя в своем вопросе вы утверждаете, что идентификатор должен быть из списка
но если у них есть [RightHand], его идентификатор должен быть из этого списка (59,60,63,64,65)
но ваш SQL делает наоборот; исключает идентификаторы из списка
ГДЕ [Head]. [RightHand_Id] Not IN (59,60,63,64,65)
Хотите включить идентификаторы из списка или исключить их?
Предполагая, что вы действительно хотите исключить их; это должно помочь вам.
using (var context = new ContextName())
{
//here are the ids we want to filter by
var ids = new List<int> { 59,60,63,64,65 };
//get all left hands without a matching right hand
var result = context.LeftHands.Where(l => l.Head.RightHand_Id == null
//or right hands that aren't in the list
|| !ids.Contains(l.Head.RightHand_Id));
}
Если вы хотите включить их вместо этого; изменить эту часть кода ...
//or right hands that aren't in the list
|| !ids.Contains(l.Head.RightHand_Id));
чтобы выглядеть так ...
//or right hands that are in the list
|| ids.Contains(l.Head.RightHand_Id));