Я бы создал метод, например, CreateTruckModel2
from truck in database.Truck
where truck.CarrierId == carrierId
&& (truck.IsDeleted == null || truck.IsDeleted == false)
orderby truck.Code
select CreateTruckModel2(truck);
и
public TruckModel2 CreateTruckModel2(Truck truck)
{
if(truck?.SiteId == null)
{
return null;
}
return new CarrierDetailViewModel.TruckModel2
{
Id = truck.TruckId,
Site = new CarrierDetailViewModel.SiteOptionModel{
Id = (int)truck.SiteId,
Name = truck.Site.Name,
Code = truck.Site.Code
}
};
}
Или просто пропустите те с условием где?
from truck in database.Truck
where truck.CarrierId == carrierId
&& (truck.IsDeleted == null || truck.IsDeleted == false)
&& truck.SiteId != null
orderby truck.Code
select new CarrierDetailViewModel.TruckModel2
{
Id = truck.TruckId,
Site = new CarrierDetailViewModel.SiteOptionModel{
Id = (int)truck.SiteId,
Name = truck.Site.Name,
Code = truck.Site.Code
}
} ;