概述
文献种类:专题技术总结文献;
开发工具与关键技术: VS2015和C#、MVC
作者: Eric ;年级: 19 ;撰写时间: 2020 年 8 月 6 日
C#、MVC增删查改、MVC中(C#)的类型转换
1、新增:
(1)首先新增数据是获取页面用户填写的数据,然后通过控制器发送请求将
这些数据新增到数据库中。
(2)新增数据需要做的是获取用户在页面填写的数据后进行数据验证,最好在
页面、控制器双重验证。然后控制器接收数据。然后通过Add()或者
AddRange()将数据添加到数据库中,添加成功后通过SaveChanges()保存新增数据
这两个方法都是当调用SaveChanges()时,会将它 插入到数据库中,同时最好判断一下,因为在新增 的时候有可能报错
Add(entity):添加数据
entity:要添加的实体
AddRange(entity):添加数据列表
Entity:要添加的实体集合
需要注意的是:
(1)当有些数据具有唯一性时,要判断新增数据中有没有和数据库中的数据重复
(2)当新增数据涉及多表时,需要开启事务,
如果开启了事务,那么在最后新增成功要提交事务(事务名.Complete())
2、删除:
(1)删除数据最重要的是获取数据ID,要明确的知道删除的是那条数据,然后依靠
该ID查询出要删除的数据
(2)删除数据需要注意几点
①:检查删除的是否是超级管理员
②:如果是删除用户检查删除的是否是当前用户(自己)
③:检查后续的业务表中是否有该数据,如果存在,则不允许删除
如果都通过则通过Remove()或者RemoveRange()进 行删除
Remove():将给定实体标记为“已删除”
RemoveRange():删除数据集合
这两个方法都是将需要删除的数据放入括号中,当调用SavaChanges()时,会从数据库删除指定数据
3、查询
(1)from:指定范围变量和数据源
(2)Where:根据bool表达式从数据源中筛选数据
(3)Contains():模糊查询。括号内:要查询的数据
(4)Select:指定查询结果中的元素所具有的类型
(5)group:对查询结果按照键值进行分组
(6)By:通过什么什么来进行分组
(7)into:提供一个标识符(可用于左连接存放临时表)
(8)orderby:对查询出的元素进行排序
①:ascending:正序(排序默认是这个)
②:descending:降序排序
(9)join:按照两个指定匹配条件来equals连接两个数据源
(10)Linq中where查询:它是linq表达式的元素筛选机制,除了开始和结束的
位置,几乎可以出现在linq 表达式的任意位置上,在一个linq表达式中,可以
有where子句,也可以没有,可以有一个,也可以有多个,多个where子句之间用
的是(&&:同时满足) 或者(||满足任意一个)
查询需要注意的是,一般都是页面显示什么字段然后查询什么字段,但有些表格存在筛选条件,这个时候我们就需要也查询出筛选条件的字段,虽然页面用不到,但是下面筛选的时候需要用到
第二种查询方式:Lambda表达式()
注意:查询单个字段不能使用该查询方式
4、修改
其实修改和新增差不多,不同的是修改需要知道修改的是那条数据,而新增不需要。同样的,修改数据也要先获取页面传递过来的数据,然后进行判断。
修改数据注意事项
①:不能修改超级管理员
②:如果修改的数据含有(具有唯一性的数据),那么需要判断修改的数据是否重复,在判断时需要去除自身
修改完成后然后通过Entry()来添加数据,接着通过SavaChanges()保存修改的数据
然后这里也顺便写一些增删查改中经常用到的C#属性或方法
(1)Equals():判断调用这个方法的值和括号内的值是否全等,
参数一:比较值
参数二: 可以有,也可以没有,作用是忽略大小写
StringComparison.CurrentCultureIgnoreCase
(2)Count():返回序列中的元素数量
(3)Single():返回序列的唯一元素,不能为空
(4)SingleOrDefault():返回序列的唯一元素,可以为空
(5)ToList():返回数据列表
(6)一般处理逻辑性问题,最好加个try防止报错
(7)检查字符串是否为null或”“
String.IsNullEmpty(),为空返回true
控制器中的正则验证Regex.IsMatch()
参数一:需要验证的字符串
参数二:正则表达式
(8)Split(”“):根据指定字符分隔成数组
(9)Convert.ToDateTime():将指定字符转换为时间格式
最后,补充一个MVC中(C#)的类型转换
(1)强制转换(又叫显示转换):
一般在要转换的数据前面加一 个括号,然后在括号中加要转换的类型。但是强制转换如果两边类型不对应转换不了那么代码会直接报错
(2)自动转换(又叫隐式转换):一般在要转换的数据后面加一个as,然后在as后面加要转换的类型。如果可以转换,那么会强制转换,如果转换不了,那么不会报错只会返回一个null
最后
以上就是冷艳芒果为你收集整理的C#、MVC增删查改、MVC中(C#)的类型转换的全部内容,希望文章能够帮你解决C#、MVC增删查改、MVC中(C#)的类型转换所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复