EF框架 、Linq查询、SQL从数据库获取数据(单表查询、连接表查询)

1.从单张表或视图中获取数据

`using (CJZPEntities db=new CJZPEntities()) 
  {
        var data = from c in db.V_CJZP_Term  //Linq查询
                   select new TermInfo
                   {
                          Term = c.Term,
                          TermStartDate = c.TermStartDate,
                          TermEndDate = c.TermEndDate
                   };
        return data.ToList();
  }`

2.连接表查询--单个字段

  ` var data = from c in db.T_SetSubitemPercentage                           
              where c.SchoolID == SchoolID && c.CourseNO == CourseNO&&c.Term==Term
              orderby c.ItemType
              join b in db.T_SetSubitem
              on c.ItemType equals(b.ItemType) into details //单个字段
              from d in details                           
              select new Subitem
              {
                  ItemType = c.ItemType,
                  IsVisible = c.IsVisible,
                  Percentage = c.Percentage,
                  ItemName=d.ItemName
               };
    return data.ToList();`

3.连接表查询--多个字段(两个表中字段同名)

   `var data = from c in dbHis.T_StudentQuality_His
              where c.SchoolID == SchoolID && c.ClassID == c.ClassID &&c.Term==Term
              join b in dbHis.T_SetQuality_His
              on new { c.ItemID, c.PItemID, c.Term } equals new  //字段同名
                     { b.ItemID,b.PItemID, b.Term } into details
              from d in details
              select new StudentQuality
              {
                     XH = c.XH,
                     Name = c.Name,
                     ClassID = c.ClassID,
                     PItemID = d.PItemID,
                     ItemID = d.ItemID,
                     ItemName = d.ItemName
              };
   return data.ToList();`

4.连接表查询--多个字段(两个表字段不同名)

   `var data = from c in dbHis.T_StudentQuality_His
               where c.SchoolID == SchoolID && c.ClassID == c.ClassID &&c.Term==Term
               join b in dbHis.T_SetQuality_His
               on new { c.ItemID, c.PItemID, GradeID = GradeID,c.Term } equals new //字段不同名
                      { b.ItemID, b.PItemID, GradeID = b.GradeID,b.Term } into details
               from d in details
               select new StudentQuality
               {
                      XH = c.XH,
                      Name = c.Name,
                      ClassID = c.ClassID,
                      PItemID = d.PItemID,
                      ItemID = d.ItemID,
                      ItemName = d.ItemName
               };
   return data.ToList();`
posted @ 2020-06-14 20:19  且往前行  阅读(767)  评论(0)    收藏  举报

haha