public class HomeController : Controller
{
//
// GET: /Home/
empentity entity = new empentity();
public ActionResult Index()
{
List<EmpCount> lst = (from m in entity.emp.ToList()
join n in entity.dept.ToList() on m.DEPTNO equals n.DEPTNO
group m by m.DEPTNO into newEmp
select new EmpCount
{
DeptID = newEmp.Key,
DName = entity.dept.Where(p => p.DEPTNO == newEmp.Key).FirstOrDefault().DNAME,
Count = newEmp.Count()
}).ToList(); return View(lst);
}
public ActionResult SelSal()
{
List<emp> lst = (from s in entity.emp.ToList()
select s).ToList();
return View(lst);
}
public ActionResult SelEmpSal()
{
ViewBag.SalgradeId = new SelectList(entity.salgrade.ToList(), "SalgradeId", "GRADE");
return View(entity.emp.ToList());
}
[HttpPost]
public ActionResult SelEmpSal(int SalgradeId)
{
ViewBag.SalgradeId = new SelectList(entity.salgrade.ToList(), "SalgradeId", "GRADE");
Salgrade lst = (from s in entity.salgrade.ToList()
where s.SalgradeId == SalgradeId
select s).FirstOrDefault();
int Max = lst.HISAL;
int Min = lst.LOSAL;
List<emp> lst1 = (from m in entity.emp.ToList()
where m.SAL > Min && m.SAL < Max
select m).ToList();
return View("SelEmpSal", lst1); }
public ActionResult EmpSal1()
{
Salgrade sal = (from s in entity.salgrade.ToList()
where s.GRADE.Contains("二级")
select s).FirstOrDefault();
int Max = sal.HISAL;
int Min = sal.LOSAL;
List<emp> lst = (from i in entity.emp.ToList()
where i.SAL > Min && i.SAL < Max
select i).ToList();
return View(lst);
}
public ActionResult EmpCount()
{
Salgrade sal = (from s in entity.salgrade.ToList()
where s.GRADE.Contains("一级")
select s).FirstOrDefault();
int Max = sal.HISAL;
int Min = sal.LOSAL;
List<EmpCount> count = (from m in entity.emp.ToList()
join n in entity.dept.ToList() on m.DEPTNO equals n.DEPTNO
where m.SAL > Min && m.SAL < Max
group m by m.DEPTNO into newEmp
select new EmpCount
{
DeptID = newEmp.Key,
DName = entity.dept.Where(p => p.DEPTNO == newEmp.Key).FirstOrDefault().DNAME,
Count = newEmp.Count()
}).ToList();
return View(count);
}
public ActionResult EmpSal2()
{
Salgrade sal = (from s in entity.salgrade.ToList()
where s.GRADE == "二级"
select s).FirstOrDefault();
int Max = sal.HISAL;
int Min = sal.LOSAL;
List<emp> lst = (from i in entity.emp.ToList()
where i.SAL > Min && i.SAL < Max
select i).ToList();
return View(lst);
}
public ActionResult EmpCount1()
{
Salgrade sal = (from s in entity.salgrade.ToList()
where s.GRADE == "一级"
select s).FirstOrDefault();
int Max = sal.HISAL;
int Min = sal.LOSAL;
List<EmpCount> lst = (from m in entity.emp.ToList()
join n in entity.dept.ToList() on m.DEPTNO equals n.DEPTNO
where m.SAL>Min&&m.SAL<Max
group m by m.DEPTNO into newEmp
select new EmpCount
{
DeptID = newEmp.Key,
DName = entity.dept.Where(p => p.DEPTNO == newEmp.Key).FirstOrDefault().DNAME,
Count = newEmp.Count()
}).ToList();
return View(lst);
}
public ActionResult EmpLd()
{
List<emp> lst = (from n in entity.emp.ToList()
join m in entity.emp.ToList() on n.EMPNO equals m.MGR
select n).Distinct().ToList();
ViewBag.DEPTNO = new SelectList(entity.dept.ToList(), "DEPTNO", "DNAME");
ViewBag.SalgradeId = new SelectList(entity.salgrade.ToList(), "SalgradeId", "GRADE");
return View(lst);
}
[HttpPost]
public ActionResult EmpLd1(int DEPTNO, int SalgradeId)
{
ViewBag.DEPTNO = new SelectList(entity.dept.ToList(), "DEPTNO", "DNAME");
ViewBag.SalgradeId = new SelectList(entity.salgrade.ToList(), "SalgradeId", "GRADE");
Salgrade sal = entity.salgrade.Find(SalgradeId);
int Max = sal.HISAL;
int Min = sal.LOSAL;
List<emp> lst = (from n in entity.emp.ToList()
join m in entity.emp.ToList() on n.EMPNO equals m.MGR
where n.SAL > Min && n.SAL < Max && n.DEPTNO == DEPTNO
select n).Distinct().ToList();
foreach (emp item in lst)
{
emp s = entity.emp.Find(item.EMPNO);
s.SAL = item.SAL + ;
}
entity.SaveChanges();
return RedirectToAction("EmpLd");
}
public ActionResult EmpLd2()
{
List<emp> ld = (from m in entity.emp.ToList()
join n in entity.emp.ToList() on m.EMPNO equals n.MGR
select m).Distinct().ToList();
ViewBag.DEPTNO = new SelectList(entity.dept.ToList(), "DEPTNO", "DNAME");
ViewBag.SalgradeId = new SelectList(entity.salgrade.ToList(), "SalgradeId", "GRADE");
return View(ld);
}
[HttpPost]
public ActionResult EmpLd3(int DEPTNO, int SalgradeId)
{
ViewBag.DEPTNO = new SelectList(entity.dept.ToList(), "DEPTNO", "DNAME");
ViewBag.SalgradeId = new SelectList(entity.salgrade.ToList(), "SalgradeId", "GRADE");
Salgrade sal = entity.salgrade.Find(SalgradeId);
List<emp> lst = (from n in entity.emp.ToList()
join m in entity.emp.ToList() on n.EMPNO equals m.MGR
where n.SAL > sal.LOSAL && n.SAL < sal.HISAL && n.DEPTNO == DEPTNO
select n).Distinct().ToList();
foreach (emp item in lst)
{
emp s = entity.emp.Find(item.EMPNO);
s.SAL = item.SAL + ;
}
entity.SaveChanges();
return RedirectToAction("EmpLd2");
}
}

Linq to SQL 练习的更多相关文章

  1. LINQ to SQL语句(7)之Exists/In/Any/All/Contains

    适用场景:用于判断集合中元素,进一步缩小范围. Any 说明:用于判断集合中是否有元素满足某一条件:不延迟.(若条件为空,则集合只要不为空就返回True,否则为False).有2种形式,分别为简单形式 ...

  2. 年终巨献 史上最全 ——LINQ to SQL语句

    LINQ to SQL语句(1)之Where 适用场景:实现过滤,查询等功能. 说明:与SQL命令中的Where作用相似,都是起到范围限定也就是过滤作用的,而判断条件就是它后面所接的子句.Where操 ...

  3. LINQ to SQL语句(20)之存储过程

    在我们编写程序中,往往需要一些存储过程,在LINQ to SQL中怎么使用呢?也许比原来的更简单些.下面我们以NORTHWND.MDF数据库中自带的几个存储过程来理解一下. 1.标量返回 在数据库中, ...

  4. LINQ to SQL语句(19)之ADO.NET与LINQ to SQL

    它基于由 ADO.NET 提供程序模型提供的服务.因此,我们可以将 LINQ to SQL 代码与现有的 ADO.Net 应用程序混合在一起,将当前 ADO.NET 解决方案迁移到 LINQ to S ...

  5. LINQ to SQL语句(18)之运算符转换

    运算符转换 1.AsEnumerable:将类型转换为泛型 IEnumerable 使用 AsEnumerable<TSource> 可返回类型化为泛型 IEnumerable 的参数.在 ...

  6. LINQ to SQL语句(17)之对象加载

    对象加载 延迟加载 在查询某对象时,实际上你只查询该对象.不会同时自动获取这个对象.这就是延迟加载. 例如,您可能需要查看客户数据和订单数据.你最初不一定需要检索与每个客户有关的所有订单数据.其优点是 ...

  7. LINQ to SQL语句(14)之Null语义和DateTime

    Null语义 说明:下面第一个例子说明查询ReportsToEmployee为null的雇员.第二个例子使用Nullable<T>.HasValue查询雇员,其结果与第一个例子相同.在第三 ...

  8. LINQ to SQL语句(10)之Insert

    1.简单形式 说明:new一个对象,使用InsertOnSubmit方法将其加入到对应的集合中,使用SubmitChanges()提交到数据库. var newCustomer = new Custo ...

  9. Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)

    Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等) 子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 = from c i ...

  10. LinQ to SQL用法详解

    LinQ是指集成化查询语言,通过映射将数据库内的表名变为C#的类名,将列名作为属性名,将表的关系作为类的成员对象.O--M--R O-Object对象(李昌辉)R-Relation关系M-Mappin ...

随机推荐

  1. mybatis sql语句符号问题

    写sql语句<或>不能直接写,而应写作<或>,不然项目不能正常编译启动

  2. Mysql 查看表结构的命令

    创建数据库create database abc; 显示数据库 show databases; 使用数据库 use 数据库名; 直接打开数据库 mysql -h localhost -u root - ...

  3. 2018.10.20 bzoj1079: [SCOI2008]着色方案(多维dp)

    传送门 dp妙题. f[a][b][c][d][e][last]f[a][b][c][d][e][last]f[a][b][c][d][e][last]表示还剩下aaa个可以用一次的,还剩下bbb个可 ...

  4. 2018.08.21 bzoj4668: 冷战(并查集+启发式合并)

    传送门 可以发现需要维护连通性和两点连通时间. 前者显然是并查集的常规操作,关键就在于如何维护两点的连通时间. 然后会想到这个时候不能用路径压缩了,因为它会破坏原本树形集合的结构,因此可以启发式按si ...

  5. IntelliJ IDEA 2017版 spring-boot 报错Consider defining a bean of type 'xxx' in your configuration问题解决方案

    问题分析: 通过问题的英文可知,这个错误是service的bean注入失败,那么为什么会产生这个问题呢? 主要是框架的Application产生的,所以我们建立项目的时候,要保证项目中的类跟Appli ...

  6. sql笔试练习

    转:http://www.360doc.com/content/16/0919/17/14804661_592046675.shtml 本文是在Cat Qi的参考原帖的基础之上经本人一题一题练习后编辑 ...

  7. 深度linux没有ll等命令的解决办法

    编辑~/.bashrc, 添加alias 如下 vim ~/.bashrc 设置别名. 添加如下行 alias ll='ls -alF' alias la='ls -A' alias vi='vim' ...

  8. 动态链接库编程:非MFC DLL

    设计一个DLL,内含一个函数计算a+b: DLL的组成 .h(头文件) 定义了DLL能够导出的函数.数据结构或类的声明,该文件的声明内容在.CPP文件中实现,而.CPP的源程序被封装到DLL文件中 . ...

  9. const define static extern 关键词详解

    const const关键词并不能把一个变量变成一个常量, 在符号前加上const表示这个符号不能被赋值, 即他的值对这个符号来说是只读的, 但并不代表这个值不能用其他方法去改变. 通过下面的例子就能 ...

  10. 红楼梦3d游戏

    1. 红楼梦大观园2d图 2. 红楼梦3d图 潇湘馆 注册机:根据电脑名和时间生成一个id,然后根据注册机生成注册码.