2017-01-03 4 views
0

У меня есть Linq запрос:Как использовать оператор «или» вернуть все строки, если строка пуста в LINQ к SQL

var Employees = db.EmployeeMasterAs 
.Where(x => x.SystemCode == SysCode && x.EmployeeCode == EmpCode) 
.ToList(); 

выше запрос работает нормально, если все значения в предложении где находятся предоставлена. Если задано значение EmpCode, оно возвращает соответствующие данные, которые работают нормально. Однако я не знаю, как вернуть все строки, если EmpCode не поставляется.

Если бы я должен был использовать SQL, я бы сделал это так:

SELECT * FROM EmployeeMasterAs 
WHERE SystemCode == @SysCode AND (EmployeeCode == @EmpCode or '') 

Я понятия не имею, как перевести выше запрос в синтаксис LINQ. Любая помощь будет глубоко признателен, спасибо заранее :)

ответ

2

вы можете даже написать что-то вроде этого ...&& (EmpCode == null || x.EmployeeCode == EmpCode))

, который я найти проще, чем @Dr Ivol

+0

Это действительно лучшее решение, чем шахты –

+0

Совершенный ответ! –

 Смежные вопросы

  • Нет связанных вопросов^_^