sql >> Databáze >  >> RDS >> Sqlserver

LINQ:přidání klauzule where pouze v případě, že hodnota není null

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



  1. PHP $stmt->num_rows nefunguje podle připravených příkazů

  2. Vypočítejte maximální počet souběžných uživatelských relací

  3. Jaký je rozdíl mezi =null a IS NULL?

  4. Načtení souboru KML do mysql / xpath a x vyžaduje