1.新增
- 新增是通过用户页面填写的数据,通过控制器将数据传输到数据库
- 新增数据需要通过用户在页面填写的数据进行验证,然后进行判断,并保存到数据库
- 将数据保存到数据库的方法可以用Add()或者AddRange()将数据保存到数据库。添加成功后通过SaveChanges()保存新增数据
- Add(entity):添加数据
entity:要添加的实体
AddRange(entity):添加数据列表
Entity:要添加的实体集合
这两个方法都是当调用SaveChanges()时,会将它 插入到数据库中,同时最好判断一下,因为在新增的时候有可能
- 注意事项:
- 当有的数据具有唯一性时,要判断新增数据中有没有和数据库中的数据重复
- 当新增数据涉及多张表时,需要开启事务,如果开启了事务,那么在新增数据判断新增成功时要提交事务
- 删除
- 删除数据最重要的是或取数据ID要明确的知道删除的是哪条数据,然后依靠该ID查询出要删除的数据。
- 删除数据要注意的:
- :检查删除的数据是否是超级管理员
- :如果删除用户数据需要检查是否删除的是是否是当前用户(自己)
- :检查后面的业务表中是否有与之有关的数据,如果存在,不允许删除
- 删除可以用Remove()或者RemoveRange()进行删除
- Remove():将给定实体标记为“已删除”RemoveRange():删除数据集合
这两个方法都是将需要删除的数据放入括号中,当调用SavaChanges()时,会从数据库删除指定数据
- 删除数据完成后要提交事务
- 查询:
(1)from:指定范围变量和数据源
(2)Where:根据bool表达式从数据源中筛选数据
(3)Contains():模糊查询。括号内:要查询的数据
(4)Select:指定查询结果中的元素所具有的类型
(5)group:对查询结果按照键值进行分组
(6)into:提供一个标识符(可用于左连接存放零时表)
(7)orderby:对查询出的元素进行排序
①:ascending:正序(排序默认是这个)
②:descending:降序排序
(8)join:按照两个指定匹配条件来equals连接两个数据源(表格之间的连接,找到相同的数据ID连接起来)
(9)Linq中where查询:它是linq表达式的元素筛选机制
,也就是条件筛选器。除开始和结束的位置,几乎可以出现在linq表达式中的任何位置,也可以没有,可以有一个或者多个,多个where子据之间用的是(&&:同时满足)或者(||满足任何一个)
- 修改
修改和新增差不多,唯一有区别的是修改需要知道修改什么数据,具体的数据是什么,而新增不需要知道具体的数据是哪一条,只需要判断新增的这一条或者多条数据是否存在重复,同样的,修改数据也要先获取页面传递过来的数据,然后进行判断,实现修改数据。
修改数据注意事项:
-
- :不能修改超级管理员(最高权限)
- :如果修改的数据含有(是否具有唯一性)的数据,那么需要判断修改的数据是否重复,再判断时需要去除自身
修改完成后通过Entry()来添加数据,接着通过SavaChanges()保存修改的数据
增删查改经常需要用到的方法或属性:
- Equals():判断调用这个方法的值和括号内的 值是否全等,
参数二: 可以有,也可以没有
作用是忽略大小写
StringComparison.CurrentCultureIgnoreCase
- Count():返回序列中的元素数量
- Single():返回序列的唯一元素,不能为空
- SingleOrDefault():返回序列的唯一元素,可 以为空
- ToList():返回数据列表
- 一般处理逻辑性问题,最好加个try防止报错
- 检查字符串是否为null或”“
String.IsNullEmpty(),为空返回true
控制器中的正则验证Regex.IsMatch()
参数一:需要验证的字符串
参数二:正则表达式
(8)Split(”“):根据指定字符分隔成数组
(9)Convert.ToDateTime():将指定字符转换为时间格式