Using: MVC 5, C#, VS 2013, EF6 with CodeFirst, SQL Server 2012
I have tried the four different ways to get the data without any issues.
IQueryable&l
Instead of doing multiple where clauses like you code exhibits, you could try using a predicatebuilder ( ref http://blogs.msdn.com/b/meek/archive/2008/05/02/linq-to-entities-combining-predicates.aspx) to build the expression for your where clause based on different if statements and then use it on qryResults at the end.
Here is an example of how you can use predicateBuilder
void Main()
{
var myQuery = new List {
new Car {IsRed = true, IsConvertible = true },
new Car {IsRed = true, IsConvertible = false },
new Car {IsRed = false, IsConvertible = true },
new Car {IsRed = false, IsConvertible = false }
}.AsQueryable();
Expression> isRed = c => c.IsRed;
Expression> isConvertible = c => c.IsConvertible;
var isRedConvertible = isRed.And(isConvertible);
var redConvertible = myQuery.Where(isRedConvertible);
}
public class Car
{
public bool IsRed {get;set;}
public bool IsConvertible {get;set;}
}