Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

LINQ:aggiunta della clausola where solo quando un valore non è nullo

puoi scriverlo come

IQueryable query = from staff in dataContext.Staffs;
query = from staff in query where (name1 != null && staff.name == name1);

In questo modo la seconda parte della tua condizione non verrà valutata se la tua prima condizione risulta falsa

Aggiornamento:
se scrivi

IQueryable query = from staff in dataContext.Staffs;
    query = from staff in query where (name1 == null || staff.name == name1);

e name1 è null la seconda parte della tua condizione non verrà valutata poiché o condition richiede solo una condizione per restituire true

per favore, guarda questo link per ulteriori dettagli