将sql代码转换为linq(内连接查询)
Posted
技术标签:
【中文标题】将sql代码转换为linq(内连接查询)【英文标题】:Convert sql code to linq (Inner join Query) 【发布时间】:2014-10-09 14:00:01 【问题描述】:有人可以帮我把这个 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】:假设我们有以下输入(并且您正在使用 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();
【讨论】:
谢谢大卫G。这有助于我获得实际的 linq 查询。以上是关于将sql代码转换为linq(内连接查询)的主要内容,如果未能解决你的问题,请参考以下文章
如何将带有内连接语句的 Sql 查询转换为带有 Where 语句的 sql 查询(语句中没有内连接)
将 SQL 语句转换为 DataTable 上的 LINQ 查询