新手求指导下~该怎么解决

新手求指导下~
我的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