Chapter 1: Getting Started with Entity Framework
1-1. A Brief Tour of the Entity Framework World
The History
The Model
The Layers
The Terminology
The Code
Visual Studio
1-2. Using Entity Framework
-------------------------------------------------------------------------
翻译修订:0.1
使用关系型数据库是根据拥有行和列的表去考虑问题的。表是高度结构化并且擅长基于集合的处理。在面向对象编程思想广泛应用前,我们都是过程式思考问题并且通过编写结构化、自顶向下、一个接一个函数的方式解决这些问题。它们的世界都是排好的:表、行和列在我们的代码中紧密地匹配结构化和过程化模式。在相当长的时间内,这种方式工作的非常好……
在代码的世界里已经发生了相当大的变革。现在我们从对象和领域模型方面考虑问题。我们对现在世界的事物如客户和订单做架构、设计和编程。我们在白板上描绘我们问题集中的词语。我们在它们之间连线、描述关系和交互。我们根据这些草图制订规范和指派任务给开发团队。总之,我们在一个概念水平上做架构、设计和编码,这个概念水平离数据库的逻辑和物理组织相差是比较大的。
基于Windows的应用程序的主要开发工具是Visual Studio。VS从一个简单的C++编译器及编辑器慢慢地进化成一个高度整合、多编程语言的集成开发环境,它贯穿了整个软件开发周期。VS和其相关的工具及服务为设计、开发、单元测试、调试、软件配置管理、构建管理、持续集成等等提供支持。只有少数开发都才会经历上述整个过程,所以无需担心开发中没有使用以上所有的技术。关键在于,VS是一个全功能的工具集,它在EF程序开发中扮演了一个非常重要的角色。
VS为EF模型提供了一个集成的设计表面(design surface),通过设计表面及VS的其他工具可从草图或从现有的数据库中创建模型。当然,也可以不使用设计表面,手工创建实体类型和配置。
大多数情况下,开发是针对现有数据库进行的,VS同样提供了导入表及表间关系到模型的工具,这是非常体贴的,毕竟很少人拥有机会去开发一个全新的软件。大多数人的工作是拓展、维护及完善现在代码及数据库。
另一种可选的做法是,使用一个空的设计表面从草图创建模型,通过添加新的实体类型到设计表面并为模型配置关联及继承层次。模型创建结束后,在设计表面界面上右击,在弹出的上下文菜单中选择从模型生成数据库(Generate Database from Model)。
若团队更喜欢代码,可以创建一系列的包括领域类,其中包含了关系及一个上下文类,然后连接它们,到EF引擎及特性中挂钩,整个过程无需使用设计表面。
即便实体创建完,需求变更也是常有之事,这是软件开发的惯例了。同样,VS为从数据库更新模型提供了工具。这将保证模型与数据库变更保持同步。另外,EF团队也提供一个叫代码先行迁移(Code First Migrations)的工具,它被用于保证数据库与模型同步。本节译完
原文:http://www.cnblogs.com/michaellfx/p/3643895.html