将sql代码转换为linq(内部连接查询)

时间:2014-10-09 14:00:01

标签: c# sql-server linq linq-to-sql sql-to-linq-conversion

请有人帮助我将此sql代码转换为linq。

SQL查询

select distinct  coursecode
from UnitSet_Unit  
where UnitCode  in ('FDFFSACA' ,'FDFFSCFSAA', 'FDFOPTHCP3A ')
and CourseCode in (Select  distinct  coursecode
                  from Trainee_course
                  where TraineeID =10000088 )

UnitCode中的IN clause来自动态且以数组的形式出现。 第二部分的课程代码也有变量计数

1 个答案:

答案 0 :(得分:1)

假设我们有以下输入(并且您正在使用C#),我不知道如何:

var unitCodes = new List<string> { "FDFFSACA" ,"FDFFSCFSAA", "FDFOPTHCP3A" };
var traineeID = 10000088;

这应该有效:

var result = (from us in db.UnitSet_Unit
              where unitCodes.Contains(us.UnitCode)
              && us.CourseCode == (from tc in db.Trainee_course
                                   where tc.TraineeID == traineeID
                                   select tc.CourseCode).Distinct().SingleOrDefault()
              select us.CourseCode).Distinct();