我是靠谱客的博主 冷艳芒果,最近开发中收集的这篇文章主要介绍C#、MVC增删查改、MVC中(C#)的类型转换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文献种类:专题技术总结文献;
开发工具与关键技术: 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#)的类型转换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(35)

评论列表共有 0 条评论

立即
投稿
返回
顶部