můžete to napsat jako
IQueryable query = from staff in dataContext.Staffs;
query = from staff in query where (name1 != null && staff.name == name1);
Tímto způsobem nebude druhá část vaší podmínky vyhodnocena, pokud bude vaše první podmínka vyhodnocena jako nepravda
Aktualizace:
pokud napíšete
IQueryable query = from staff in dataContext.Staffs;
query = from staff in query where (name1 == null || staff.name == name1);
a jméno1 je null druhá část vaší podmínky nebude vyhodnocena, protože nebo podmínka vyžaduje pouze jednu podmínku, aby vrátila hodnotu true
podívejte se prosím na tento odkaz pro další podrobnosti