sql >> Base de Datos >  >> RDS >> Sqlserver

LINQ:agregar cláusula where solo cuando un valor no es nulo

puedes escribirlo como

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

De esta manera, la segunda parte de su condición no se evaluará si su primera condición se evalúa como falsa

Actualización:
si escribes

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

y nombre1 es nulo, la segunda parte de su condición no se evaluará ya que o la condición solo requiere una condición para devolver verdadero

por favor vea este enlace para más detalles