Linq to SQL 练习

Posted Jevon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linq to SQL 练习相关的知识,希望对你有一定的参考价值。

  1     public class HomeController : Controller
  2     {
  3         //
  4         // GET: /Home/
  5         empentity entity = new empentity();
  6         public ActionResult Index()
  7         {
  8             List<EmpCount> lst = (from m in entity.emp.ToList()
  9                                   join n in entity.dept.ToList() on m.DEPTNO equals n.DEPTNO
 10                                   group m by m.DEPTNO into newEmp
 11                                   select new EmpCount
 12                                   {
 13                                       DeptID = newEmp.Key,
 14                                       DName = entity.dept.Where(p => p.DEPTNO == newEmp.Key).FirstOrDefault().DNAME,
 15                                       Count = newEmp.Count()
 16                                   }).ToList();
 17                                
 18                                 
 19             return View(lst);
 20         }
 21         public ActionResult SelSal()
 22         {
 23             List<emp> lst = (from s in entity.emp.ToList()
 24                             select s).ToList();
 25             return View(lst);
 26         }
 27         public ActionResult SelEmpSal()
 28         {
 29             ViewBag.SalgradeId = new SelectList(entity.salgrade.ToList(), "SalgradeId", "GRADE");
 30             return View(entity.emp.ToList());
 31         }
 32         [HttpPost]
 33         public ActionResult SelEmpSal(int SalgradeId)
 34         {
 35             ViewBag.SalgradeId = new SelectList(entity.salgrade.ToList(), "SalgradeId", "GRADE");
 36             Salgrade lst = (from s in entity.salgrade.ToList()
 37                     where s.SalgradeId == SalgradeId
 38                     select s).FirstOrDefault();
 39             int Max = lst.HISAL;
 40             int Min = lst.LOSAL;
 41             List<emp> lst1 = (from m in entity.emp.ToList()
 42                              where m.SAL > Min && m.SAL < Max
 43                              select m).ToList();
 44             return View("SelEmpSal", lst1);
 45 
 46         }
 47         public ActionResult EmpSal1()
 48         {
 49             Salgrade sal = (from s in entity.salgrade.ToList()
 50                            where s.GRADE.Contains("二级")
 51                            select s).FirstOrDefault();
 52             int Max = sal.HISAL;
 53             int Min = sal.LOSAL;
 54             List<emp> lst = (from i in entity.emp.ToList()
 55                             where i.SAL > Min && i.SAL < Max
 56                             select i).ToList();
 57             return View(lst);
 58         }
 59         public ActionResult EmpCount()
 60         { 
 61             Salgrade sal = (from s in entity.salgrade.ToList()
 62                            where s.GRADE.Contains("一级")
 63                            select s).FirstOrDefault();
 64             int Max = sal.HISAL;
 65             int Min = sal.LOSAL;
 66             List<EmpCount> count = (from m in entity.emp.ToList()
 67                                     join n in entity.dept.ToList() on m.DEPTNO equals n.DEPTNO
 68                                     where m.SAL > Min && m.SAL < Max
 69                                     group m by m.DEPTNO into newEmp
 70                                     select new EmpCount
 71                                     {
 72                                         DeptID = newEmp.Key,
 73                                         DName = entity.dept.Where(p => p.DEPTNO == newEmp.Key).FirstOrDefault().DNAME,
 74                                         Count = newEmp.Count()
 75                                     }).ToList();
 76             return View(count);
 77         }
 78         public ActionResult EmpSal2()
 79         {
 80             Salgrade sal = (from s in entity.salgrade.ToList()
 81                             where s.GRADE == "二级"
 82                             select s).FirstOrDefault();
 83             int Max = sal.HISAL;
 84             int Min = sal.LOSAL;
 85             List<emp> lst = (from i in entity.emp.ToList()
 86                              where i.SAL > Min && i.SAL < Max
 87                              select i).ToList();
 88             return View(lst);
 89         }
 90         public ActionResult EmpCount1()
 91         {
 92             Salgrade sal = (from s in entity.salgrade.ToList()
 93                             where s.GRADE == "一级"
 94                             select s).FirstOrDefault();
 95             int Max = sal.HISAL;
 96             int Min = sal.LOSAL;
 97             List<EmpCount> lst = (from m in entity.emp.ToList()
 98                                   join n in entity.dept.ToList() on m.DEPTNO equals n.DEPTNO
 99                                   where m.SAL>Min&&m.SAL<Max
100                                   group m by m.DEPTNO into newEmp
101                                   select new EmpCount
102                                   {
103                                       DeptID = newEmp.Key,
104                                       DName = entity.dept.Where(p => p.DEPTNO == newEmp.Key).FirstOrDefault().DNAME,
105                                       Count = newEmp.Count()
106                                   }).ToList();
107             return View(lst);
108         }
109         public ActionResult EmpLd()
110         {
111             List<emp> lst = (from n in entity.emp.ToList()
112                             join m in entity.emp.ToList() on n.EMPNO equals m.MGR
113                              select n).Distinct().ToList();
114             ViewBag.DEPTNO = new SelectList(entity.dept.ToList(), "DEPTNO", "DNAME");
115             ViewBag.SalgradeId = new SelectList(entity.salgrade.ToList(), "SalgradeId", "GRADE");
116             return View(lst);
117         }
118         [HttpPost]
119         public ActionResult EmpLd1(int DEPTNO, int SalgradeId)
120         {
121             ViewBag.DEPTNO = new SelectList(entity.dept.ToList(), "DEPTNO", "DNAME");
122             ViewBag.SalgradeId = new SelectList(entity.salgrade.ToList(), "SalgradeId", "GRADE");
123             Salgrade sal = entity.salgrade.Find(SalgradeId);
124             int Max = sal.HISAL;
125             int Min = sal.LOSAL;
126             List<emp> lst = (from n in entity.emp.ToList()
127                              join m in entity.emp.ToList() on n.EMPNO equals m.MGR
128                              where n.SAL > Min && n.SAL < Max && n.DEPTNO == DEPTNO
129                              select n).Distinct().ToList();
130             foreach (emp item in lst)
131             {
132                 emp s = entity.emp.Find(item.EMPNO);
133                 s.SAL = item.SAL + 2000;
134             }
135             entity.SaveChanges();
136             return RedirectToAction("EmpLd");
137         }
138         public ActionResult EmpLd2()
139         {
140             List<emp> ld = (from m in entity.emp.ToList()
141                             join n in entity.emp.ToList() on m.EMPNO equals n.MGR
142                             select m).Distinct().ToList();
143             ViewBag.DEPTNO = new SelectList(entity.dept.ToList(), "DEPTNO", "DNAME");
144             ViewBag.SalgradeId = new SelectList(entity.salgrade.ToList(), "SalgradeId", "GRADE");
145             return View(ld);
146         }
147         [HttpPost]
148         public ActionResult EmpLd3(int DEPTNO, int SalgradeId)
149         {
150             ViewBag.DEPTNO = new SelectList(entity.dept.ToList(), "DEPTNO", "DNAME");
151             ViewBag.SalgradeId = new SelectList(entity.salgrade.ToList(), "SalgradeId", "GRADE");
152             Salgrade sal = entity.salgrade.Find(SalgradeId);
153             List<emp> lst = (from n in entity.emp.ToList()
154                             join m in entity.emp.ToList() on n.EMPNO equals m.MGR
155                             where n.SAL > sal.LOSAL && n.SAL < sal.HISAL && n.DEPTNO == DEPTNO
156                             select n).Distinct().ToList();
157             foreach (emp item in lst)
158             {
159                 emp s = entity.emp.Find(item.EMPNO);
160                 s.SAL = item.SAL + 2000;
161             }
162             entity.SaveChanges();
163             return RedirectToAction("EmpLd2");
164         }
165     }

 

以上是关于Linq to SQL 练习的主要内容,如果未能解决你的问题,请参考以下文章

LINQ to XML - 从文件加载 XML 片段

通过 LINQ-to-SQl 加载数据集

Linq-to-SQL 数据库文件为空

如何将 LINQ-to-SQL 映射到 BLL 类?

识别 linq to sql 查询的来源

Linq to sql-存储过程