One of the good tools to convert SQL to Linq: Linqer
Try this request
var q = (from r in Room
join v in Reservation on r.RoomID equals v.RoomID into outer
from o in outer.DefaultIfEmpty()
where !(o.Date_Check_Out<= startdate || o.Date_Check_In>=endDate)
&& v.cancel == 0 && v.ReservationID == null
select r);
Also check this out:
See SQL to LINQ Tool
existing thread.
If you decide to do it manually, Linqpad should be helpful.
You would also like to see: SQL to LINQ (visual representation) is some good example using graphical representation ...