首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

生手求指导下

2013-08-01 
新手求指导下~本帖最后由 q107770540 于 2013-07-19 10:58:29 编辑我的SQL select a.ClassName,a.PKSemCla

新手求指导下~
本帖最后由 q107770540 于 2013-07-19 10:58:29 编辑 我的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]


哪个大神指导下~我哪里错了~该怎么写哇?


======
友情提醒: 为了让你的问题更容易被理解,我建议你,将必要的代码部分进行格式化。 12321321321
[解决办法]
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
select new 
{
 classname = g.Key[0],
 SemeID = g.Key[1]
}
[解决办法]
sql语句里是 order by
linq语句是 group by
怎么可能一样呢?

热点排行