最近在做一个新的项目,俗话说在实践中成长,确实是成长不少。新的知识接踵而来,最近帮助我们组长搭框架的时候,学习到了EF的知识,下面总结一下。
一,ORM和EF的关系
ORM:帮助我们开发人员跟踪实体的变化,并将实体的变化翻译成sql脚本,并执行到数据中去,也就是将实体的变化映射到了表的变化。
EF:跟踪实体变化,把变化映射到表中。
关系:ORM是一种思想,EF是实现这种思想的框架。
二,实战-从数据库中获取实体
(1)在新建的项目中新建:ADO.NET实体数据模型
(2)选择从数据库生成
(3)与自己想要映射的数据库进行连接
点击完成,这样数据库中的东西就会映射到自己所建项目的实体中。如图:
三,编写代码
//所有对数据库的操作第一步就是创建数据库上下文。voteEntities是从Model1.Designer.cs中上下文的类名。 voteEntities dbContext = new voteEntities(); #region 添加实体 //voteDeltails指的是数据库中表的名字 voteDeltails vote = new voteDeltails(); //给字段添加记录 vote.voteDetailsID = 5; vote.voteID = 2; vote.voteItem = "傻牛"; vote.voteNum = 4; //往这个实体的集合中添加数据(往dbContext指向的数据库中的voteDeltails表中添加一条数据vote。) dbContext.voteDeltails.AddObject(vote); dbContext.SaveChanges(); //真正的保存到数据库中。 #endregion结果:(1) 原来数据库中的数据:
(2)执行代码后的数据:
执行完成后多了一条儿数据。
四,优点
(1)更有利于面向对象思想,直接操作实体而不是数据库。降低面向数据的应用程序所需的代码量并减轻维护工作。
(2)EF上下文管理,保证线程唯一。
现在刚刚开始,研究还在继续。
原文地址:http://blog.csdn.net/u010539352/article/details/42919505