From the manual.
How do I write a filter which does WHERE field IN (SELECT fieldb FROM foo) ?
SelfServicing
// C#
IPredicateExpression filter = new PredicateExpression();
filter.Add(new FieldCompareSetPredicate(
YourEntityFields.Field, FooFields.Fieldb, SetOperator.In, null);
' VB.NET
Dim filter As New PredicateExpression()
filter.Add(new FieldCompareSetPredicate( _
YourEntityFields.Field, FooFields.Fieldb, _
SetOperator.In, Nothing))
Adapter
// C#
IPredicateExpression filter = new PredicateExpression();
filter.Add(new FieldCompareSetPredicate(
YourEntityFields.Field, null, FooFields.Fieldb, null,
SetOperator.In, null));
' VB.NET
Dim filter As New PredicateExpression()
filter.Add(new FieldCompareSetPredicate( _
YourEntityFields.Field, Nothing, FooFields.Fieldb, Nothing, _
SetOperator.In, Nothing))
The FieldCompareSetPredicate has a negate bool that you can use to make this predicate a not in