EF
首先,中文名:实体框架(Entity Framework ),是ADO.NET中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架。因此想要理解EF是什么,做什么的,先要了解什么是ORM?
认识ORM
O/R Mapping 即对象关系映射
一般操作数据库在数据库访问层,使用ADO.NET,创建UserInfoDal类,用于封装对表的CRUD的操作。不过,实际从数据库访问表时的操作使用的是弱类型(通过行索引、列名等查询表数据,属于硬编码,直接敲,不知道里面有什么,编译时无法感知是不是有这个列,只有在运行时才能决定,直接操作数据库表),因此,出现ORM框架,相当于在数据库访问层下面抽象出一个数据库访问驱动层,使其转换为强类型访问。
思想:表实体与表(数据库里面)之间的相互转换
可以说:ORM将表实体的变化转化到数据库里面,把表数据转成表实体
ORM与EF区别
相当于–思想与语言的关系
ORM,设计层次
EF只是实现ORM思想的一个框架而已,LINQ也是,不过是轻型的,EF企业级,重型ORM框架。还有,NHibernate开发框架,是java的H转换过来的。其与EF差不多。
- VS2013 EF实例01
添加新项-ADO.NET实体数据模型 .demx
选择连接数据库 选择表、存储过程、视图
查看模型tt文件-查看生成的实体模型
查看EF上下文 Content.tt
使用EF操作数据库一个基本过程
①声明一个EF上下文,其继承自Dbcontent
②声明实体
③告诉EF上下文中的实体 做什么操作
④告诉EF上下文SaveChanges 保存到数据库
dbContent.Entry(entity).State = System.Data.Entity.EntityState.Modified;
此语句是根据设置操作状态 在执行SaveChanges时会根据此生成相应脚本
强类型
修改单个列 属性
dbContent.Entry(entity).Property(parma=>returnparma).IsModified = true;