我需要在LINQ帮助。 这里是我的方案。 我有两个表用于存储如姓名,身份证,工资,Primary_Emp和年度员工详细信息。 用户可以从任一DDL选择名称或ID,并通过将输入值SP。 SQL Server将返回基于给定的输入数据。
tbl_Employee
EmpID EmpName Salary Primary_Emp
1 xxx 10000 Yes
2 yyy 20000 Yes
3 zzz 30000 Yes
tbl_Year
EmpID [Year]
1 2010
2 2011
3 2011
这是我的SQLQuery。 我想申请相同的条件LINQ。 注: -用户有两个选项,选择EmpID
或EmpName
从DDL和输入在文本框中的值(自由文本)
Input Parameters:
Name varchar(100)
EmpID varchar(100)
select distinct e.EmpID from
tbl_employee e
inner join
tbl_Year y
on e.EmpID = y.EmpID
where E.Primary_Emp = 'Yes'
**AND e.EmpName = (SELECT CASE WHEN @Key = 'Name' THEN @Value ELSE e.Empname END)
AND e.EmpID = (SELECT CASE WHEN @Key = 'EmpID' THEN @Value ELSE e.EmpID END)**
问:如何形成动态凡在LINQ子句。 这里的问题是LHS也是动态的。 如果用户传递的EmpID,它不应该考虑的名称,反之亦然。
JOIN在LINQ是强制性的!