Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

LINQ:dodawanie klauzuli WHERE tylko wtedy, gdy wartość nie jest null

możesz to napisać jak

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

W ten sposób druga część twojego warunku nie zostanie oceniona, jeśli twój pierwszy warunek okaże się fałszywy

Aktualizacja:
jeśli piszesz

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

a name1 ma wartość null druga część twojego warunku nie zostanie oceniona, ponieważ warunek wymaga tylko jednego warunku do zwrócenia true

plz zobacz ten link więcej szczegółów



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kolumna jest w konflikcie z typem innych kolumn na liście unpivot

  2. Dokładność typu danych SYSDATETIME w SQL Server

  3. Jak mogę wybrać z listy wartości w SQL Server?

  4. SQL Server — transakcje wycofują się w przypadku błędu?

  5. obliczanie Max Draw Down w SQL