I’m trying to build a linq to entities query. This is what I have so far:
x
from x in db.BusSchedule
join y in db.BusSchedule on x.ID equals y.ID - 1
where Convert.ToInt32(y.StopOrder) >= Convert.ToInt32(x.StopOrder)
&& x.NameOfTown == arrival
&& x.Line in (SELECT Line FROM BusSchedule WHERE NameOfTown = destination)
orderby x.DepartureTime ascending
select x).Distinct()
I’m not sure how to do the IN part, and I’m pasting the actual sql query I’m using. How can I translate this SQL query
‘SELECT Line FROM BusSchedule WHERE NameOfTown = destination’
in Linq to Entities query?
Advertisement
Answer
var dest = (from b in db.BusSchedule
where b.NameOfTown = destination
select b.Line).ToList();
var output = (from x in db.BusSchedule.Where(b => b.NameOfTown == arrival)
join y in db.BusSchedule on x.ID equals y.ID - 1
where Convert.ToInt32(y.StopOrder) >= Convert.ToInt32(x.StopOrder)
&& dest.Contains(x.Line)
orderby x.DepartureTime ascending
select x)
.Distinct()