新手求指导下~该怎么解决
新手求指导下~
我的SQL
写成LINQ
可是实际中得到的语句是
哪个大神指导下~我哪里错了~该怎么写哇?
======
友情提醒: 为了让你的问题更容易被理解,我建议你,将必要的代码部分进行格式化。
------解决方案--------------------
var classname = from b in dataContext.org
join a in dataContext.classtb on b.PKOrgID equals a.FKOrgID
join c in dataContext.class_semester_ships on c.FKClassID equals a.PKClassID
join d in dataContext.semester on c.FKSemesterID equals d.PKSemesterID
where d.PKSemesterID == semerID and c.FKClassTypeID.ToString() == ClassTypeInformation[i]
group c.PKSemClaID by c.ClassName into g
我的SQL
select a.ClassName,a.PKSemClaID
from class_semester_ships a ,semester b ,org O,classtb c
where a.FKSemesterID = b.PKSemesterID and O.PKOrgID = c.FKOrgID and
b.SemesterName = '2013年上学期' and a.FKClassID = c.PKClassID and a.FKClassTypeID='85d75476-d5e3-420b-a7dc-112f6f470534'
order by a.ClassName
写成LINQ
var classname = from a in dataContext.classtb
from b in dataContext.org
from c in dataContext.class_semester_ships
from d in dataContext.semester
where c.FKSemesterID == d.PKSemesterID && b.PKOrgID == a.FKOrgID
&& d.PKSemesterID == semerID && c.FKClassID == a.PKClassID
&& c.FKClassTypeID.ToString() == ClassTypeInformation[i]
group c.PKSemClaID by c.ClassName into g
select new
{
classname = g.Key[0],
SemeID = g.Key[1]
};
可是实际中得到的语句是
SELECT CONVERT(NChar(1),SUBSTRING([t4].[ClassName], @p2 + 1, 1)) AS [classname], CONVERT(NChar(1),SUBSTRING([t4].[ClassName], @p3 + 1, 1)) AS [SemeID]
FROM (
SELECT [t2].[ClassName]
FROM [dbo].[classtb] AS [t0], [dbo].[org] AS [t1], [dbo].[class_semester_ships] AS [t2], [dbo].[semester] AS [t3]
WHERE ([t2].[FKSemesterID] = [t3].[PKSemesterID]) AND ([t1].[PKOrgID] = [t0].[FKOrgID]) AND ([t3].[PKSemesterID] = @p0) AND ([t2].[FKClassID] = [t0].[PKClassID]) AND ((CONVERT(NVarChar(MAX),[t2].[FKClassTypeID])) = @p1)
GROUP BY [t2].[ClassName]
) AS [t4]
哪个大神指导下~我哪里错了~该怎么写哇?
======
友情提醒: 为了让你的问题更容易被理解,我建议你,将必要的代码部分进行格式化。
------解决方案--------------------
var classname = from b in dataContext.org
join a in dataContext.classtb on b.PKOrgID equals a.FKOrgID
join c in dataContext.class_semester_ships on c.FKClassID equals a.PKClassID
join d in dataContext.semester on c.FKSemesterID equals d.PKSemesterID
where d.PKSemesterID == semerID and c.FKClassTypeID.ToString() == ClassTypeInformation[i]
group c.PKSemClaID by c.ClassName into g