下面是我最近学习的对查询的总结
首先在控制器写查询下拉框数据
public ActionResult SelectEmployeeInfor()
{
SelectVo为自定义的选中值和显示值的封装类,选中值是id 用int类型,显示值是text文本框,用string类型。
List<SelectVo>listEmployee= (from 自定义表名称in myModels.此处是要查询的表
select new SelectVo {
id = 自定义表名称.DepartmentID,
//查询到的ID放到id里面
text = 自定义表名称.DeoartmentName
//查询到的名字放到text里面
}).ToList();
listEmployee = Common.Tools.SetSelectJson(listEmployee);
Tools为自定义封装类,绑定下拉框的时候它会创建一个对象列表并且下拉框会默认选择到对象列表的第一个实体对象,将实体对象Tools添加到对象列表后,对象列表的第一个实体对象就变成了Tools,它的id是0的时候下拉框会显示请选择,如果你没有创建这个实体类它的下拉框会选择到第一个数据
//返回到页面
return Json(listEmployee, JsonRequestBehavior.AllowGet);
}
注意,该控制器的前面一行要写实例化Models
然后在视图层写绑定下拉框数据
createSelect是调用的js里面的自定义方法名称
searchAcademeID为下拉框的ID,SelectEmployeeInfor为控制器写的方法名称
然后在控制器写查询方法,
这是单表查询的方法格式
from 自定义的表名 in Model对象.查询的表
where 自定义的表名.字段1 关系运算符 值 (&& 自定义的表名.字段2 关系运算符 值)
(orderby 自定义的表名.字段)分页查询用orderby
(select 自定义的表名)
(select new {自定义的表名.字段
....
})
(select new 类名{ 类的属性1=自定义的表名.字段1,
类的属性2=自定义的表名.字段2,
....
})
).Single();查询单条数据,当没有数据或者有多条数据时会触发异常
.ToList();查询多条数据并转为List
.Count();查询有多少条数据
这是多表查询的方法格式
List<自定义类的类名> 自定义名称 = (from 自定义的表名1 in Model对象.连接的表1
join 自定义的表名 in Model对象.连接的表2 on 连接的表1.(连接的条件,对应ID值) equals 连接的表2.(连接的条件,对应ID值) (主外键相连)
.........
orderby tbEmployee.EmployeeID descending(排序)
select new 自定义类的类名 {
类的属性1=自定义的表名.字段1,
类的属性2=自定义的表名.字段2,
....
}).Single();查询单条数据,当没有数据或者有多条数据时会触发异常
.ToList();查询多条数据并转为List
.Count();查询有多少条数据