2017-01-03 20 views
0

我有一個LINQ查詢:我如何使用「OR」操作符返回所有行如果字符串是在LINQ空爲sql

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

上述查詢工作正常,如果在where子句中的所有值提供。如果EmpCode提供了一個值,它將返回相應的數據,這可以正常工作。但是,我不知道如何返回所有行,如果沒有提供EmpCode

如果我使用SQL,我會做這種方式:

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

我不知道如何翻譯上面的查詢到LINQ語法。任何幫助將十分讚賞,感謝提前:)

回答

2

你甚至可以寫出這樣的事情 ...&& (EmpCode == null || x.EmployeeCode == EmpCode))

我覺得這比@Dr Ivol simplier

+0

的確是比我 –

+0

完美的一個更好的解決方案回答! –

相關問題