WHERE
((table1.foo1 = "10" and
table1.foo2 = "20" and
table1.foo3 = "30" and
table1.foo4 = "40" and
table1.foo5 = "50")
OR
(Table2.foo1 = "10" or
Table2.foo2 = "20" or
Table2.foo3 = "30")
OR
(Table3.foo1 = "10" or
Table3.foo2 = "20" or
Table3.foo3 = "30")
OR
(Table4.foo1 = "10" or
Table4.foo2 = "20" or
Table4.foo3 = "30")
OR
(Table5.foo1 = "10" or
Table5.foo2 = "20" or
Table5.foo3 = "30"))
How can I build this with PredicateExpression?
IPredicateExpression selectFull = new PredicateExpression();
IPredicateExpression selectTable1 = new PredicateExpression();
selectTable1.Add(table1entityfields.foo1 == "10");
selectTable1.Add(table1entityfields.foo2 == "20");
selectTable1.Add(table1entityfields.foo3 == "30");
selectTable1.Add(table1entityfields.foo4 == "40");
selectTable1.Add(table1entityfields.foo5 == "50");
selectFull.Add(selectTabl1);
IPredicateExpression selectTable2 = new PredicateExpression();
selectTable2.AddWithOr(table2entityfields.foo1 == "10");
selectTable2.AddWithOr(table2entityfields.foo2 == "20");
selectTable2.AddWithOr(table2entityfields.foo3 == "30");
selectFull.Add(selectTabl2);
IPredicateExpression selectTable3 = new PredicateExpression();
selectTable3.AddWithOr(table3entityfields.foo1 == "10");
selectTable3.AddWithOr(table3entityfields.foo2 == "20");
selectTable3.AddWithOr(table3entityfields.foo3 == "30");
selectFull.Add(selectTabl3);
and so on.....
but it doesnt bind the same amount of entity with the above sql statement binds.
am I missing something?
and also how can I see the sql statemen before/after Collection.GetMulti() method?