背景
数据库是应用程序必不可少的一部分。一直以来,程序员在开发的时候都是通过在程序中直接嵌入SQL语句来实现程序与数据库的联系。这样一来,无疑使得程序员不得不学习一些必备的SQL语句了。那么,有没有一种技术,可以实现通过直接在程序中通过普通的调用代码实现与数据库的链接功能呢?
概念
EF:全称Entity Framework是 ADO.NET 中的一组支持开发面向数据的软件应用程序的技术。
解释
Entity Framework 利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象 (entity),而数据字段都转换为属性 (property),关系则转换为结合属性 (association),让数据库的 E/R 模型完全的转成对象模型,如此让程序设计师能用最熟悉的编程语言来调用访问。而在抽象化的结构之下,则是高度集成与对应结构的概念层、对应层和储存层,以 及支持 Entity
Framework 的数据提供者 (provider),让数据访问的工作得以顺利与完整的进行。
在EF中通过ObjectContext封装 了.NET Framework 和数据库之间的连接。由于它封装了EF 到数据库的连接,封装了表对应的实体的集合,所以我们所有的操作都应该是针对于ObjectContext下的实体集合,修改实体集合后,通过调用ObjectContext的SaveChange方法将对实体集合的操作映射回数据库。当然ObjectContext通过我们上面EDMX的定义,也就是表、实体的关系的xml定义,通过集合的变化,生成对应的sql,并调用Ado.Net来实现对数据库的操作。所以,此类用作“创建”、“读取”、“更新”和“删除”的操作。.
实现方法
1.Model First(模型优先) 通过先生成实体关系模型,然后通过实体模型,反向生成数据库。 2.DB First(数据源优先) 通过已经设计完成的数据库,直接生成实体模型。 3.Code Frist(代码优先) 通过ObjectContext和DBContext来直接创建数据库。
初次接触EF,只能先做一简单的了解了,以上的三种实现方法在后续中详述,在此只做简单介绍。欢迎各位前辈不吝赐教!