查询的详细解说

开发工具与关键技术:VS+ MVC
作者:李钊海
撰写时间:2019年4月1日星期一

对于很多新学者来说,学增删查改是必须要经历的事了。我现在用简单通俗的语言先解析一下查询这一块。希望能帮助到更多的人。如果发现有说的不对的地方望请告知。
首先定义一个方法给它一个自定义的名字,参数就是你视图里要用到的各种ID,例如:你要绑定下拉框,下拉框里要有选项吧。里面的选项就是用ID从控制器通过参数传过去的。你需要用到那个就传那个。说明:连表只是并列式连表且myModel已实例化的前提下。
单表:先声明一个表接收数据然后(from自己建的表in myModel.点出你要用的表 orderby 自己建的表.点出这个表的ID descending select自己建的表)如果是有条件查询就在descending后面加where然后加上条件。如果这个条件是包含有文字最好加上去空格。 这样一个查询就做好了
即:var list=(from tb in myModel.PW_Title orderby tb.titleID descending where tb.tbName==Tb.TbName.Trim() select tb) 查询就是这样
现在说一下多表的查询:首先你要知道你要查的表之间地关系是怎么样的。现在我说的是并列关系的这种
在这里插入图片描述

多表:定义一个方法,我需要传递四个参数(注意传递参数的属性)
例子:声明一个表接收数据(from新建一个表tb接收来自于in数据库的主表(一般用数据库的表的缩写作为对应新表的名)(join是多表连接的标志。)
join新建一个表db in 数据库的要查的表1 on tb.点出与db对应的ID equals db.点出与tb对应的ID(逻辑可以简单理解为:join一个新表接收来自数据库的表 on它们是通过表tb的其中一个对应ID与这个新表的ID相连的)
……只要表是并列式无论你连多少个表都是这样连)并列式的表的关系是与上面的图片一样的
Select 后面要加一个类用来查询您要的字段,这个类很简单就是像下面这样封装起来再调用,这样就可以了。
在这里插入图片描述
类里面封装的都是这些字段。然后你要用什么字段就用对应的新表(join后面in前面的那个表)给它赋值就可以了,我这里只需要查五个字段就可以满足了。当然也可以像图中一样全部查出来,Tolist返回的是列表 Count返回的是总数。
如果还有条件筛选可以在后面加if语句进行判断。如果文字说明看得不明白的可以参考一下下图的结构。
在这里插入图片描述
最后查询做完,如果表里的数据比较多的话就要分页了。
先获取到查询好的表的总数。然后声明一个表接收查询好的数据,skip调用分页的类进行分页的操作,再返回列表。然后用一个新表接收上面返回的数据和列表,用一个表返回到视图上面,这样就可以了。
分页这里面用到的都是一些自己封装的类,只要知道这些的思路逻辑就可以了
在这里插入图片描述