Following on from a previous question i asked, I'm now trying to figure out how to build dynamic expressions for both AND & OR queries.
Given the following string array:
string[] ranges = new string[]{"0-100", "100-200", "500-1000"};
I would like to dynamically express this in a linq expression - Something along the lines of:
var v = from p in products
where
(p.Amount >= 0 && p.Amount <= 100) ||
(p.Amount >= 101 && p.Amount <= 200) ||
(p.Amount >= 500 && p.Amount <= 1000)
select p;
How do i dynamically build the linq expression in this loop?
string[] ranges = new string[]{"0-100", "100-200", "500-1000"};
var query = products.AsQueryable();
foreach (var item in ranges)
{
int min = int.Parse(item.Split('-').First());
int max = int.Parse(item.Split('-').Last());
//Linq expression?
}