How do I write a filter which does WHERE field = 3 or field is null?

Posts   
 
    
phaibin
User
Posts: 2
Joined: 26-Feb-2009
# Posted on: 26-Feb-2009 04:15:08   

How do I write a filter which does WHERE field1=3 and (field2 = 1 or field2 is null)?

daelmo avatar
daelmo
Support Team
Posts: 8245
Joined: 28-Nov-2005
# Posted on: 26-Feb-2009 06:41:01   
IRelationPredicateBucket filter = new RelationPredicateBucket();
filter.PredicateExpression.Add(SomeEntityFields.Field1 == 3);

PredicateExpression subFilter = new PredicateExpression();
subFilter.Add(SomeEntityFields.Field2 == 1);
subFilter.AddWithOr(SomeEntityFields.Field2 == System.DBNull.Value);
filter.PredicateExpression.Add(subFilter);

or

IRelationPredicateBucket filter = new RelationPredicateBucket();
filter.PredicateExpression.Add(SomeEntityFields.Field1 == 3);
filter.PredicateExpression.Add((SomeEntityFields.Field2 == 1) | (SomeEntityFields.Field2 == System.DBNull.Value));

or

IRelationPredicateBucket filter = new RelationPredicateBucket();
filter.PredicateExpression.Add( (SomeEntityFields.Field1 == 3) & 
     ((SomeEntityFields.Field2 == 1) | (SomeEntityFields.Field2 == System.DBNull.Value)) );

For more info, read The Predicate System.

David Elizondo | LLBLGen Support Team
phaibin
User
Posts: 2
Joined: 26-Feb-2009
# Posted on: 26-Feb-2009 08:13:26   

Thank you so much! It's so kind of you!