多条件查询

开发工具与关键技术:Visual Studio 和  ASP.NET.MVC,
作者:陈鸿鹏
撰写时间:2019年  4月2日

查询分为两种,一是单表查询,二是多表查询或者说是多条件查询,首先我们要确定好我们所需要的表。接下来要讲的是多表查询或者说是多条件查询,在者之前我们要搭建好框架即是创建好区域在区域里面的Controllers点击、右键选择创建控制器创建好之后如图一,就开始书写内容。图一中的各种各样using System.Collections.Generice等这样的是引用或者是继承他们。
在这里插入图片描述
图二,首先创建#region tab两下一个双向符,在里面书写的内容多的话可以整体收合便于区分区域,之后就开始public ActionResult 命名(自定义)括号里的LayuiTablePage是一个组件封装的类,详细说明:鼠标指向就会出现明细的说法底下出现红线时就要在图//GET: ExaminationManagement/SetExaminee(路由)下实例化Models.CQUPTEntities myModels = new Models.CQUPTEntities();为什么要实例化Models.CQUPTEntities myModels = new Models.CQUPTEntities();呢 就是为了数据库的数据等同 实例化完之后图二书写就不会报错,myModels就不会出现红线报错,这样我们就不会因一堆红线而烦恼了,可以继续写 操作 运行就会报错。 之后我们就继续将我们所需要查询的表连接起来,可以从数据库中关系图中获取他们的表与表之间的层级关系或者是在一个软件PowerDesigner打开,就会很明细的给你分清楚哪一张表和哪一张表要者什么样的关系和连接好给你,这样就可以一目了然的清晰 明白的知道哪一张表连着哪一张表有着怎样的关系也会有箭头指向各个表例如下图三所示。
在这里插入图片描述
在这里插入图片描述
之后就根据数据类型用int类型和sting类型引用,int TitleTypeID, int PointID, int UnitID, string Stem 将表连接起来, 在查询之前我们要怎样才可以一下子将这么多个表查询出来呢,数据库里面是没有任可一张表是可以一下子将这么多个表查询出来的,所以到这我们就要在方案资源管理器中的点击EntityClass右键添加一个类,实体类Vo:将每一表(int TitleTypeID, int PointID, int UnitID, string) 封装在一起就可以一下子查询出来了,接着就是用查询方法开始查询:List listTitle = (from tbTitle in myModels.PW_Title:就是从数据库里面的这张表PW_Title开始连接查询(myModels.PW_Title),连接题目表类型表、科目表、知识点表、使用单位表、提目表、状态表、六表链表查询。
join tbTitleType in myModels.SYS_TitleType on tbTitle.TitleTypeID equals tbTitleType.TitleTypeID
join tbDofd in myModels.SYS_Dofd on tbTitle.DofdID equals tbDofd.DofdID
join tbSubject in myModels.SYS_Subject on tbTitle.SubjectID equals tbSubject.SubjectID
join tbPoint in myModels.SYS_Point on tbTitle.PointID equals tbPoint.PointID
join tbUnit in myModels.SYS_Unit on tbTitle.UnitID equals tbUnit.UnitID
orderby tbTitle.ToVoidNo ascending
select new TitlesVo 题目表类型表、难度系数表、科目表、知识点表、使用单位表、提目表、六表链表查询他们的主键和外键已经是很清晰 名细的了 结构来说就是说从数据库里面的这张表里面的表和表ID等于另一张表里面的表和表ID,以此类推从数据库里面的这张表里面的表和表ID等于另一张表里面的表和表ID,在Visual Studio 2015软件里面不能用这个等号(“ = ”) 在Visual Studio 2015软件里面不支持会出现红线报语法错,在Visual Studio 2015软件里要用英文(“equals”)状态下才不会报错,在数据库中就支持用这个等号(“ = ”)不会报错。查询完后我们要用orderby排序,是跟据状态表里面的作废否进行排序, orderby就是排序的意思,排序主要是让它按照顺序排列这一张表。ascending一个升序的排序是可选(还有别的用法)的规定排序顺序。select 语句用于从表中选取数据。结果被存储在一个结果表中(称为结果集)。是SQL(数据)中的一种语法。select new TitlesVo括号里面就页面上请求的数据字段的值。
查出来之后就是分页的操作,分页先筛选出数据的总条数,然后提取数据然后实例化一下LayuiTableData layuiTableData = new LayuiTableData();实体类然后给他赋值,我们需要返回来的是数据的中条数以及当前页的数据返回到页面如图四所示有注释标明。这样查询就完成了。
在这里插入图片描述

附件:本文发表链接备案

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值