sql >> Databasteknik >  >> RDS >> Sqlserver

LINQ:lägger till where-sats endast när ett värde inte är null

du kan skriva det som

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

På så sätt kommer den andra delen av ditt tillstånd inte att utvärderas om ditt första tillstånd utvärderas till falskt

Uppdatering:
om du skriver

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

och namn1 är null andra delen av ditt villkor kommer inte att utvärderas eftersom eller villkor bara kräver ett villkor för att returnera sant

se denna länk för ytterligare information



  1. PHP hur man sparar HTML-sträng i databasen

  2. Hur CHARINDEX()-funktionen fungerar i SQL Server (T-SQL)

  3. kan inte släppa den främmande nyckeln

  4. Analysera XML till SQL Server