多条件查询

               多条件查询
开发工具与关键技术:MVC  专题技术
作者:彭春怡
撰写时间:2019/4/3

下面我想给大家介绍一下多表查询。对于入学差不多一年的我来说,我相信大多数的新手,就是刚刚进入IT的学习者,在学习IT的路上,学习查询、新增、修改、删除是不可避免的。因为这是做项目通常用到的,所有老师跟我们,查询、新增、修改、删除对于我们来说是很重要的。非学会不可
查询有条件查询、单表查询、多表查询、等等。而我要介绍的是多条件查询,希望给新学者一点帮助,如有不对的地方,请指教,谢谢。
第一步:
在这里插入图片描述
解释第一步的意思:
要定义方法首先是写“public”, “public”是写查询的关键字,”ActionResult”是返回的类型。 “SelectStudentAll”是自己定义的名字,就是定义方法的名称。“LayuiTablePage”作用是负责接收视图传过来的分页数据。“layuiTablePage”就是参数的一个名称。多条件查询,是要连接多个ID的,是根据学院、年级、班级、学生号、名字五个条件进行进行查询的。当然我这里是这五个条件,但做其它的多条件查询的话,那就是相关的多表连接了。第一个年级ID是 int类型,所以用“int”。记住一定要类型对应才能进行判断与对比。一般的ID都是用“int”类型的,就像第二个年级ID,第三个班级ID,也是“int”类型的。其它想了解,可以到网上查找一下。接下来就是定义一个表,去查询学生的成绩后面跟着一个自命名字段“tb”,in myModel,是封装出来的实体。然后就是数据来自“PW_Student”学生表。简单的解释就是查询学生的成绩,然后学生成绩的数据来自学生表。
接下来就给大家介绍一下表与表之间的连接如下:
“join tbUser in myModels.PW_User on tbStudent.UserID equals tbUser.UserID”
Join:按照两个指定的匹配条件来equals连接两个数据源的意思。“in”是在哪里的意思。“on”是要连接的表的意思。“equals”是“=”的意思。然后就是数据来源那个表。
总体的意思通过tbUser在PW_User查询然后连接学生表。UserID等于tbUser。然后数据来源UserID
第二步:
下面就是构建的实体类:
在这里插入图片描述
解释一下第二步的意思:
select new Student{
studentID = tbStudent.studentID,
}
“select new Student”查询新的学生数据
很简单,学生ID是来自学生表,所以等于那个表。然后变成实体类“studentID”。这就是构建实体类的方法。以上图片“studentID = tbStudent.studentID,”的解释是一样的。
第三步:
在这里插入图片描述
下面解释一下第三步的意思:
if (AcademeID > 0)
{
listStu = listStu.Where(m => m.AcademeID == AcademeID);
}
“if (AcademeID > 0)就是如果年级ID参数大于0.“listStu = listStu”局部变量,是不变的。”where()”是判断的意思,“m => m”是lambda表达式的写法的法。“AcademeID == AcademeID”第一个“AcademeID”是你封装起来的一个ID,第二个“AcademeID”是页面传过来的参数。连起来where过号里面的内容是在“listStu”里的内容把自己需要的内容选取出来。
if (!string.IsNullOrEmpty(StudentInfo))
{
listStu = listStu.Where(m => m.StudentNumber.Contains(StudentInfo) || m.StudentName.Contains(StudentInfo));
}
if (!string.IsNullOrEmpty(StudentInfo))是判断“StudentInfo ”是否为空,不为空及执行下面的。“||”是或者的意思,就是listStu = listStu.Where(m => m.StudentNumber.Contains(StudentInfo)跟 m.StudentName.Contains(StudentInfo))的意思是一样的。
第四步:获取总数
在这里插入图片描述
定义一个变量,用Count();方法。List是提供列表的搜索、排序、操作的方法。然后是定义数据类型列表,去获取数据的表,“Skip”是开始获取,“layuiTablePage”参数,后面是一个方法。“Take”:获取多少,后面就是获取了多少数据量,“ToList”返回的意思。
第五:调用封装的类:
在这里插入图片描述
首先要实例化对象,接下来就是写行的总数,然后再写具体的显示数,然后就是返回的数据。
以上就是查询的方法,五步结束。如有不对请指教,谢谢。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值