je kunt het schrijven als
IQueryable query = from staff in dataContext.Staffs;
query = from staff in query where (name1 != null && staff.name == name1);
Op deze manier wordt het tweede deel van uw aandoening niet geëvalueerd als uw eerste voorwaarde onwaar is
Bijwerken:
als je schrijft
IQueryable query = from staff in dataContext.Staffs;
query = from staff in query where (name1 == null || staff.name == name1);
en naam1 is null tweede deel van uw voorwaarde wordt niet geëvalueerd omdat of voorwaarde slechts één voorwaarde vereist om true te retourneren
zie deze link voor meer details