Ok, so after some more playing around in SQL and then back in LLBLGEN, I think I have solved it - although I think there must be a faster query.
p.PredicateExpression.Add(new
FieldCompareSetPredicate(
NeuronsFields.NeuronId,
null,
InterventionsFields.NeuronId,
null,
SetOperator.In,
(InterventionsFields.Intervention == "Rimonabant"),
null,
string.Empty,
0,
null
));
p.PredicateExpression.AddWithAnd(new
FieldCompareSetPredicate(
NeuronsFields.NeuronId,
null,
InterventionsFields.NeuronId,
null,
SetOperator.In,
(InterventionsFields.Intervention == "CPCCOet"),
null,
string.Empty,
0,
null
));
The SQL equivalent is...
SELECT *
FROM Neurons
WHERE (Neurons.NeuronID) In (SELECT NeuronId FROM Interventions WHERE Intervention = 'Rimonabant') AND (Neurons.NeuronID) In (SELECT NeuronId FROM Interventions WHERE Intervention = 'CPCCOet');
Is this really the best way to achieve this? Is does the job for the moment so I am happy