I am trying to implement a complex filter using Entity Framework: I want to add where
clauses to the queryable object based on my provided search criteria.
Can I do the following in Entity Framework 6?
var queryable = db.Users.Where(x => x.Enabled && !x.Deleted);
// Filter
var userId = User.Identity.GetUserId();
queryable.Where(x => x.AspNetUser.Id == userId);
queryable.Where(x => x.Status >= 2);
// ...etc
I know that I can do:
var queryable = db.Users
.Where(x => x.Enabled && !x.Deleted)
.Where(x => x.AspNetUser.Id == userId)
.Where(x => x.Status >= 2);
But I am not getting the expected results with this solution. It seems to be ignoring the seconds two where
clauses.