MVC增删查改

MVC增删查改

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

开发工具与关键技术:Visual Studio 2015 与 JavaScript

作者:黄富滔

撰写时间:2020年0809

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

知识点罗列:

技术文献

学习了好一段时间的增删改查,其实无论是什么系统,都是由增删查改来支撑起来的,可以说增删查改是做系统的基础吧。那什么是增删查改呢?我们一起来了解一下!其实学习也是一个增删查改的过程。

新增:

1、概念:就是如何把一条或者多条数据新增到数据库,数据库里面又存在多张表,所以新增的数据要具体到某一个表。

2注意点:

①新增数据之前,要先在判断客户端传递过来的判断数据是否为空或者是否符合数据库储存的数据类型。然后在控制器的方法再一次进行把所有判断数据是否输入为空,如果不为空,再判断数据库里面是否已经存在相同的数据,如果不存在,新增数据,如果存在,返回警告框提示用户

②如果涉及多个表新增,则要添加一个引用,那就是事物。事物能够确保数据的统一性,要么多个同时新增成功,要么多个表同时新增失败。

③一个表里面又有多个字段,新增的数据,要对应某个表里面的某一个字段。

④如果只新增一条数据,可以直接用Add;如果是多条数据,用AddRange或者用遍历循环的方式,每遍历循环一次,新增一条数据。

修改:

  1. 概念:就是把原来的数据进行修改操作。修改其实跟新增差不多,若涉及多表修改,所以修改的的数据要具体到某一个表。
  2. 注意点:

①数据修改之前跟新增一样,要先对客户端传递过来的数据进行一系列的判断,判断数据是否为空或判断数据是否符合数据库的数据类型。然后再判断用户要进行修改完的数据数据库是否已经存在相同的数据,如果没有,进行修改,如果有,返回提示用户。

②如果涉及多表同时修改,那么也要添加事务引用。确保数据的统一性,同时修改成功或修改失败。

③一个表里面又有多个字段,修改的数据,要对应某个表里面的某一个字段。

④修改的核心代码myModel.Entry(临时表).State = System.Data.Entity.EntityState.Modified;

删除

1、概念:删除的概念跟新增的刚好相反,删除就是如何把一条或者多条数据从数据库中进行删除操作,然后如果也涉及多表的话,也要具体到某一个表。

2、注意点:

①如果涉及多个表删除,则要添加一个引用,那就是事物。事物能够确保数据的统一性,要么多个同时删除成功,要么多个表同时删除失败。

②删除之前,要先判断该表的数据是否已经关联其他表格的数据,若数据正在使用,则不能进行删除操作,并且返回提示用户。

增删改的共同点:

涉及多表操作,开启事务,确保数据的统一性

具体到某一个表的某一个字段

无论结果如何,都需要返回提示给用户

 

 

查询

  1. 概念:查询,顾名思义就是把数据查询出来,然后返回到页面,展示数据给用户。增删修改都离不开查,因为增删改之前都需要先把增删改的相应的表或表里面的字段查询出来
  2. 注意点:

①linq查询写法

from 自定义表名称 in myModle 要查询的表(对象)

where自定义表.字段 (条件==/Contains)字段或值(查询条件)

Select 自定义表名称

Select new 实体类类名

Lamda 写法

查询单条数据myModle.where(m=>m.字段==/Contains字段或值).single();

查询多条数据myModle.where(m=>m.字段==/Contains字段或值).ToList();

②将查询出来的数据返回到页面表格

  分为五步:一查询数据,二查询数据的总条数,三分页,四按照表格能够接收的数据形式

五以json格式返回

③如果需要返回多表的数据,就要先封装一个实体类来接收来自多表的数据,前提是实体类里面要有定义的字段。

④涉及多表查询时,一定要先搞清楚各个表之间的关系,各个表是靠什么来进行连接的。

   连接又分为内连接、左连接、右连接等

⑤查询如果用到single,一定要加上try...catch 使用,不然在没有查询数据出来的时候vs会报错

⑥如果查询单条或单表数据,使用lamda表达式写法,代码量更少,更简洁

 

关于表的连接关系

内连接:取连接的两个表的交集部分,意思就是去公共部分

左连接:取连接的两个表的公共部分还有左表的全部数据,如果右表没有改字段对应左表,则显示为null值

右连接:原理跟左连接相反,只是表的位置换了一下

关于实体类的作用:(类里面的变量叫字段)

实体类的作用就是用于接收数据,因为数据可能来自于多张表,如果数据大多来自于一张表,可以继承该表,该表没有的字段,自己在实体类里面添加字段。添加的字段的数据类型要和你要接收来自该表的字段的数据类型相对应,不然在使用的时候还要进行强制转换。

如果接收的字段完全来自一张表,可以直接用该表声明一个列表来进行接收数据。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值