Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

LINQ:добавяне на клауза where само когато стойността не е нула

можете да го напишете като

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

По този начин втората част от вашето условие няма да бъде оценена, ако първото ви условие е фалшиво

Актуализация:
ако пишете

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

и name1 е null, втората част от вашето условие няма да бъде оценена, тъй като или условието изисква само едно условие да върне true

моля вижте тази връзка за повече подробности



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да идентифицираме дублирането на първичния ключ от код за грешка на SQL Server 2008?

  2. Бройте записи за всеки месец в годината

  3. Sql изберете групиране по и низ concat

  4. Преобразуване на номер на месец в името на месеца в SQL Server (T-SQL)

  5. как мога да актуализирам топ 100 записа в sql сървър