猿教程 Logo

EntityFramework介绍

编写和管理用于数据访问的 ADO.Net 代码是非常单调和乏味的一项工作. 微软提供的实体框架(Entity Framework) 是一个 O/RM 框架。它可以为你的应用提供很多数据库相关的自动化操作。


百度百科中对Entity Framework给出了以下定义:

ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,早期被称为 ObjectSpace,现已经包含在 Visual Studio 2008 Service Pack 1 以及 .NET Framework 3.5 Service Pack 1 中发表。

ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主,将数据逻辑层切分为三块,分别为 Conceptual Schema, Mapping Schema 与 Storage Schema 三层,其上还有 Entity Client,Object Context 以及 LINQ 可以使用。

Entity Framework 利用了抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象 (entity),而数据字段都转换为属性 (property),关系则转换为结合属性 (association),让数据库的 E/R 模型完全的转成对象模型,如此让程序设计师能用最熟悉的编程语言来调用访问。而在抽象化的结构之下,则是高度集成与对应结构的概念层、对应层和储存层,以 及支持 Entity Framework 的数据提供者 (provider),让数据访问的工作得以顺利与完整的进行。


实体框架是对ADO.NET 的一个改进。它为开发人员提供了一个自动化的机制来访问和存储数据库中的数据

实体框架可以在三种情景下发挥作用.

1)你已经有一个已经存在的数据库或者你想在开发一个应用的时候第一步首先设计数据库

2)你想首先专注于设计你的领域内的类,然后根据领域内的类再创建数据库

3)你想用可视化的设计工具首先设计你的数据库结构,然后再创建数据库和相应的类


下图说明了上述情况





什么是O/RM

ORM 是一种工具。它可以自动的存储领域对象的数据到像MS SQL Server这样的关系型数据库中,而且无需太多的编程。

O/RM包括三个主要的部分:领域类对象,关系型数据库对象,关于如何把领域对象映射到关系型数据库对象(表,视图和存储过程)的映射信息。

ORM 允许我们把数据库设计和领域类设计分离开。这样使得我们的应用的维护性和扩展性更好。它使标准的CRUD操作(Create, Read, Update & Delete) 自动化。这样开发人员可以不用手工再书写这些代码。

对象关系映射(Object-Relational Mapping)提供了概念性的、易于理解的模型化数据的方法。ORM方法论基于三个核心原则: 简单:以最基本的形式建模数据。 传达性:数据库结构被任何人都能理解的语言文档化。 精确性:基于数据模型创建正确标准化的结构。 典型地,建模者通过收集来自那些熟悉应用程序但不熟练的数据建模者的人的信息开发信息模型。建模者必须能够用非技术企业专家可以理解的术语在概念层次上与数据结构进行通讯。建模者也必须能以简单的单元分析信息,对样本数据进行处理。ORM专门被设计为改进这种联系。

一个典型的ORM工具为你的应用生成和数据库交互的类。如下图所示。


Entity Framework overview

只要提供了持久化类与表的映射关系,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。

在世界上有很多为.Net 提供的ORM框架,例如DataObjects.Net, NHibernate, OpenAccess, SubSonic。

想要了解更多关于ORM的资料,可以查看百度百科:ORM

实体框架(Entity Framework)是来自于微软公司的开源的ORM框架,ORM开源地址:ORM代码


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Entity/jieshao.html