Я начинаю использовать LinqKit PredicateBuilder для создания предикатов с условиями ИЛИ, что невозможно с выражениями Linq.
Проблема, с которой я сталкиваюсь, заключается в том, что если я начинаю с PredicateBuilder.True<MyEntity>()
, он возвращает все строки, а если я начинаю с PredicateBuilder.False<MyEntity>()
, он возвращает не строки, независимо от того, какие выражения я использую! посмотрите на код ниже:
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;
}
Он должен возвращать строки с IsActive == true, но возвращает все строки!
Я перепробовал все возможные комбинации PredicateBuilder.True
| PredicateBuilder.False
с And
| Or
методов, ни один из них не работает!