Linq2SQL проверяет, является ли элемент нулевым - PullRequest
0 голосов
/ 20 мая 2009

foreach (переменная в новом DataAccess.IncidentRepository (). GetItems (). 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))) </p>

есть ли способ, которым я могу i.PlantId == plantId не быть добавленным, если plantId равен null?

Спасибо

Ответы [ 2 ]

2 голосов
/ 20 мая 2009
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)))

В качестве альтернативы вы можете:

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) {
   // ...
}
0 голосов
/ 20 мая 2009
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)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...