张涵含,小小外星人国语,梅州新闻
首先说明一下: 添加ef 之后,会自动的给程序添加实体类。
ef的增加:
首先实例化刚才添加的ef ,再用对象初始化器将自己要添加的对象实例化,然后使用ef添加再保存即可。案例:
efdbentities efdb = new efdbentities(); students objstudent = new students() { studentname = "小明", classid = 2, gender = "男" }; efdb.students.add(objstudent); int result = efdb.savechanges();
代码详解:
最后两部的解释:这两行代码看似是冗余的,但是实际上并不冗余,少了哪一行代码都不行。其中 第一行代码就是将这个对象添加到缓存中,但是并没有上交到数据库中,而第二行代码就提交到了数据库中,然后用一个int类型的参数接受执行的行数。
(修改)
想修改,就要先找到要修改的对象。
在这里用到了两种查询方式,用哪个都可以,完全看个人爱好。
首先将需要修改的对象 查询出来。
students objstudent = efdb.students.firstordefault(s => s.studentid == 1000006);
然后修改各个属性值就可以。
objstudent.studentname = "张红利"; objstudent.phonenumber = "99999999";
修改完之后提交保存。
int result = efdb.savechanges();
另一种查询的方式
students objstudent = (from s in efdb.students where s.studentid == 100006 select s).first<students>();
通过主键列获取对象信息。
students objstudent = efdb.students.find(100006);
注意:find只能查询主键也就是id 然后获取整个对象。里面不能查询姓名等。
如果取的是第一个值:
students objstudents = (from s in students select s).firstordefault();
如果取得是唯一值:
objstudents = (from s in students select s).singleordefault();
两者的区别:
第一个值:获取学员中的第一个对象.(可以是多个) 唯一值:如果查询结果只有一个.(必须是一个) first()、firstordefault() 异同: - 相同点:都用于获取结果集中的第一个元素 - 不同点:如果序列中不包含任何元素,前者返回null,后者返回默认值 single()、singleordefault()异同 - 相同点:都用于获取结果中的唯一元素 - 不同点:如果序列中不包含任何元素,前者返回null,后者返回默认值 - 特别注意:当数据源中包含多个元素时,这两个方法会产生异常。
(删除)
想删除,就要先找到要删除的对象。
首先需要找到需要删除的学员对象
students objstudent = efdb.students.firstordefault(s => s.studentid == 100015);
然后从集合中删除对象
efdb.students.remove(objstudent);
最后保存到修改。
int result = efdb.savechanges();
.net framework 支持的规范函数
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Blazor server side 自家的一些开源的, 实用型项目的进度之 CEF客户端
.NET IoC模式依赖反转(DIP)、控制反转(Ioc)、依赖注入(DI)
vue+.netcore可支持业务代码扩展的开发框架 VOL.Vue 2.0版本发布
网友评论