Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

Entity Framework-Introduction

$
0
0

文献索引

此文章完全根据微软官方文档,经过我自己的翻译而来。若有不准确之处,敬请指导。

Entity Framework

EF框架提供了一些列面向数据(data-oriented)的软件应用技术。EF框架使得程序员以特定域内的对象和属性的方式操作数据,例如 customers 和 customer addresses,完全不用关心它们在数据库表和列架构中是如何存储的。有了EF框架,开发者能以高度抽象的方式操作数据,与传统开发相比,它能够以最少的代码生成和维护 data-oriented 的应用。

预览(Overview)

EF框架是一个对象-关系映射器(object-relational mapper, ORM),它降低了.NET 框架中面向对象和关系型数据库的不匹配。 EF使得开发者主要同APP的概念模型(conceptual model)打交道,通过使用熟悉的面向对象技术。在EF框架中,你可以使用在特定作用域中的对象和属性,例如 custormers 和 customer addresses, 而完全不用考虑下层的用于持久化数据的数据库的表和列。开发者可以直接依靠于概念模型(conceptual model)来处理数据介入(data access),EF框架负责翻译这些操作为关系的数据库的行为。

在EF框架应用中,主要有两层:
- 模型层The modeling layer
- 对象层The object layer

其中,模型层包括三个组件:
1. 概念模型。包括特性域的视图类型和关系,它们是基于EDM(Entity Data Model )的 。
2. 数据库存储层。 一个数据库架构(schema)来定义数据库表和关系。
3. 1和2层间的映射。概念模型和数据库架构间的映射组件。

EF 用映射组件(mapping component)将依赖于实体对象的操作,例如,创建(create),读取(read),更新(update),删除(delete),简称为(CRUD),转化为等同于数据库中的操作。
EF**对象层**(object layer)包括类型化的CLR对象(common language runtime),它发射定义在概念模型中的实体(Entities)和关系(relationships)。这些对象能被程序语言辨识。类型的准确格式是由你提供给EF的配置控制的。

映射和建模(Mapping and Modeling)

  • 有不同的方法来生成上述提到的映射层( mapping layer)和对象层(object layer): 你可以用EF工具从现有的数据库中生成你的模型。这种方法产生了一个默认的概念模型和映射,然后你可以通过使用EDM(Entity Data Model)Designer实现定制。第二种方法,通过使用EDM设计器,用图形化地方式创建一个概念模型,然后从这个模型中通过工具建立元模型,最后基于元模型创建一个数据库。
  • 第三种方式,用Code first方式在代码中创建概念模型,在代码中你定义了各种对象类型和定义一些配置,EF基于这些代码推断出概念模型。然后,根据代码,映射元模型(mapping metadata) 在运行时被生成。模型既可以被映射到已经存在的数据库中,也可以从模型映射创建一个完全新的数据库。

同对象一起工作(Working with Objects)

EF的对象层(object layer)让你能做如下事:
- 依靠概念模型进行查询操作;
- 具体化从以Objects的数据源返回的数据;
- 追踪对象的改变;
- 传播对象的改变再次返回到数据源;
- 绑定对象到控件。

另外参考

其他资料

作者:daigualu 发表于2017/5/15 15:11:18 原文链接
阅读:96 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>