Saleh
Saleh

Reputation: 2719

Search between two dates not working

I have the following code:

var q = context.Fuels.AsQueryable();
if (dateEdit1.EditValue != null && dateEdit2.EditValue != null)
{
   q.Where(d => d.FuelDate >= dateEdit1.DateTime && d.FuelDate <= dateEdit2.DateTime);
}

and it's working, it will get all rows in table.

but when I'm using this code:

if (dateEdit1.EditValue != null && dateEdit2.EditValue != null)
{
     var r = context.ExecuteStoreQuery<Fuel>(String.Format("SELECT * FROM Fuel WHERE FuelDate BETWEEN '{0}' AND '{1}'", 
                 dateEdit1.DateTime.Year + "-" + dateEdit1.DateTime.Month + "-" + dateEdit1.DateTime.Day, 
                 dateEdit2.DateTime.Year + "-" + dateEdit2.DateTime.Month + "-" + dateEdit2.DateTime.Day));
}

it's working but I need to use the first way to get relations working.

Any idea what is the problem in the first one?

Upvotes: 0

Views: 146

Answers (1)

Sebastian Piu
Sebastian Piu

Reputation: 8008

Inside of your if clause, you need to assign it to q, if you don't do that q is just a query for all Fuels

This should work:

q = q.Where(d => d.FuelDate >= dateEdit1.DateTime && d.FuelDate <= dateEdit2.DateTime);

Upvotes: 3

Related Questions