Linq2SQL checks if null

foreach (incident var in new DataAccess.IncidentRepository (). GetItems (). Where (i => (startDate == null || i.IncidentDate> = startDate) & & (endDate == null || i.IncidentDate <= endDate ) & & (shiftId == null || i.ShiftId == shiftId) & & (processAreaId == null || i.ProcessAreaId == processAreaId) & & (plantId == null || i.PlantId == plantId)) )

Is there a way I can i.PlantId == plantId

skip adding if plantId

there is one null

?

thanks

0


a source to share


2 answers


var incident in new DataAccess.IncidentRepository().GetItems().Where(
                    i => i.IncidentDate >= startDate 
                    && i.IncidentDate <= endDate 
                    && i.ShiftId == shiftId 
                    && i.ProcessAreaId == processAreaId
                    && (plantId == null || i.PlantId == plantId)))

      

Alternatively, you can:



var incidents = new DataAccess.IncidentRepository().GetItems().Where(
                    i => i.IncidentDate >= startDate 
                    && i.IncidentDate <= endDate 
                    && i.ShiftId == shiftId 
                    && i.ProcessAreaId == processAreaId));

if (plantId != null)
    incidents = incidents.Where(i => i.PlantId == plantId);

foreach (var incident in incidents) {
   // ...
}

      

+2


a source


var incident in new DataAccess.IncidentRepository().GetItems().Where(
                    i => i.IncidentDate >= startDate 
                    && i.IncidentDate <= endDate 
                    && i.ShiftId == shiftId 
                    && i.ProcessAreaId == processAreaId
                    && object.Equals(i.PlantId, plantId)))

      



0


a source







All Articles