du kan skrive det som
IQueryable query = from staff in dataContext.Staffs;
query = from staff in query where (name1 != null && staff.name == name1);
På denne måde vil anden del af din tilstand ikke blive evalueret, hvis din første tilstand vurderes til at være falsk
Opdatering:
hvis du skriver
IQueryable query = from staff in dataContext.Staffs;
query = from staff in query where (name1 == null || staff.name == name1);
og navn1 er null anden del af din tilstand vil ikke blive evalueret, da eller betingelse kun kræver én betingelse for at returnere sand
se venligst dette link for yderligere detaljer