I have this piece of code that works perfectly on LinqPad. But when I implement it in Visual Studio it returns no data. Does anyone knows what is wrong? The error I get is Object reference not set to an instance of an object.
from site in Sites
orderby site.Community.Name ascending
where site.Yard.YardID == 1 && site.SiteTypeID == 1
let Cycles = (from sbm in SBMs
where sbm.CrewSite.SiteID == site.SiteID && sbm.CrewSite.Crew.CrewDate.Year == 2019
orderby sbm.CrewSite.Crew.CrewDate ascending
select new
{
Date = sbm.CrewSite.Crew.CrewDate
}).ToList()
select new
{
Pin = site.Pin,
Community = site.Community.Name,
Neighbourhood = site.Neighbourhood,
Address = site.StreetAddress,
Area = site.Area,
Notes = site.Notes,
Cycle1 = Cycles.OrderBy(x => x.Date).FirstOrDefault().Date.Equals(null) ? (DateTime?)null : Cycles.OrderBy(x => x.Date).FirstOrDefault().Date,
Cycle2 = Cycles.OrderBy(x => x.Date).Skip(1).FirstOrDefault().Equals(null) ? (DateTime?)null : Cycles.OrderBy(x => x.Date).Skip(1).FirstOrDefault().Date,
Cycle3 = Cycles.OrderBy(x => x.Date).Skip(2).FirstOrDefault().Equals(null) ? (DateTime?)null : Cycles.OrderBy(x => x.Date).Skip(2).FirstOrDefault().Date,
Cycle4 = Cycles.OrderBy(x => x.Date).Skip(3).FirstOrDefault().Equals(null) ? (DateTime?)null : Cycles.OrderBy(x => x.Date).Skip(3).FirstOrDefault().Date,
Cycle5 = Cycles.OrderBy(x => x.Date).Skip(4).FirstOrDefault().Equals(null) ? (DateTime?)null : Cycles.OrderBy(x => x.Date).Skip(4).FirstOrDefault().Date
}