I have read this (http://www.albahari.com/nutshell/predicatebuilder.aspx)
Here is my code :
var predicateOuter = PredicateBuilder.True<T_Users>();
predicateOuter.And(d => d.code== 357);
var count=tService.GetCount(predicateOuter.Expand());
my service in code first:
public int GetCountSearch(Expression<Func<T, bool>> exp)
{
return _entities.Count(exp);
}
all record in T_Users
: 6548
all record where code==357
: 26
But it always returns all records. but why ?
You need to use the results of Add
:
// Assign result here to predicateOuter -
predicateOuter = predicateOuter.And(d => d.code== 357);
// This should now function properly
var count = tService.GetCount(predicateOuter.Expand());
Add
doesn't modify the predicate, but rather returns a new one with the additional criteria.