Zaczynam używać LinqKit 's PredicateBuilder do tworzenia predykatów z warunkami OR, które nie są możliwe w wyrażeniach Linq.LinqKit PredicateBuilder zwraca wszystkie lub bez wierszy
Problem jestem stoi to jeśli zacznę PredicateBuilder.True<MyEntity>()
nim zwraca wszystkie wiersze a jeśli zacznę PredicateBuilder.False<MyEntity>()
to zwraca non wiersze, oprócz tego, co wyrażenia używam! spójrz na poniższy kod:
var pre = PredicateBuilder.True<MyEntity>();
pre.And(m => m.IsActive == true);
using (var db = new TestEntities())
{
var list = db.MyEntity.AsExpandable().Where(pre).ToList();
dataGridView1.DataSource = list;
}
Powinien zwrócić wiersze, które ma IsActive == true, ale zwraca wszystkie wiersze!
Próbowałem wszystkich możliwych kombinacji PredicateBuilder.True
| PredicateBuilder.False
z And
| Or
metody, z których żaden nie działa!
OMG !! To głupi błąd. Zrobiłem ten sam błąd odnośnie metody 'string.Replace' 3 lata temu !!! Dziękuję Ci bardzo. – Ashkan
Dzięki za wyjaśnienie – leen3o