历史版本和未来版本

本文介绍有关实体框架 (EF5) 最新版本的信息,其中大部分内容也适用于旧版本。有关完整版本列表以及各版本引入的功能的详细信息,请参阅 “版本历史”。 “历史版本”页面包含实体框架之前各版本相关文档的快照。 “未来版本”页面包含正在编写的关于实体框架下一版本的文档。

实体框架入门

我该用哪个工作流?借助实体框架,您可以通过编写代码或使用 EF 设计器中的框和线条来创建模型。无论以现有数据库为目标还是创建新数据库,这两种方法均适用。这一简短视频说明了两者之间的区别,以及如何找到适合您自己的方法。

我只想写代码……

我在创建新数据库
使用Code First 用代码来定义模型,然后生成数据库。
   
我需要访问现有数据库
使用Code First 创建映射到现有数据库的基于代码的模型。

我想用设计器……

我在创建新数据库
使用Model First 用方框和线条来定义模型,然后生成数据库。
   
我需要访问现有数据库
使用Database First 创建映射到现有数据库的方框和线条模型。

EF5 新增功能

EF5 是实体框架的最新版本。这些短视频和分步骤演示将让您初步了解 EF5 的新功能

Code First 枚举支持
组成 Code First 模型的域类如今可以包含枚举属性,这些属性将映射到数据库。
   
EF 设计器枚举支持
使用 EF 设计器如今可以向实体中添加枚举属性。
   
Code First 中的空间数据类型
如今可以用新的 DbGeography 和 DbGeometry 类型,在 Code First 模型中对外公开空间数据类型。有关更多信息,请参见 对空间类型的提供程序支持
   
EF 设计器中的空间数据类型
如今可以用新的 DbGeography 和 DbGeometry 类型,在 EF 设计器中使用空间数据类型。有关更多信息,请参见 对空间类型的提供程序支持
   
表值函数
数据库中的表值函数 (TVF) 如今可以与 EF 设计器创建的 Database First 模型共同使用。
   
每模型多个图
EF 设计器如今允许使用多幅图对总体模型的下级组成部分进行图形化表示。这样可以将较大模型分解成多个小图。还可以对实体标注颜色,有助于模型各部分的识别。

了解有关设置模型的更多信息

我该用哪个工作流
讨论 EF 设计器和 Code First 哪个更适合。
连接和模型
了解 EF 如何判断连接到哪个数据库,以及如何进行模型计算。
性能注意事项
讨论如何发挥实体框架的最佳性能。
使用 Microsoft SQL Azure
在使用 EF 时,需要考虑 SQL Azure 的多个属性.
实体框架的强大工具
EF 的强大工具对 EF 主流工具中用到的功能提供了预览.
配置文件的设置项
EF 允许在应用程序配置文件中配置多个设置项。
词汇表
在实体框架讨论中经常用到的术语定义。
用 Code First 创建模型

这些主题专门讨论使用 EF Code First 创建的模型。

对新数据库使用 Code First
使用 Code First 定义模型,然后生成数据库。
对现有数据库使用 Code First
使用 Code First 创建映射到现有数据库的基于代码的模型。
约定
讨论 Code First 构建模型所遵循的约定。
数据注释
数据注释通过运用类的属性,提供了配置模型的简单方法。
Fluent API - 配置/映射属性和类型
了解如何配置属性/类型及其通过 Fluent API 所映射到的列/表。
Fluent API - 配置关系
讨论如何配置关系以及通过 Fluent API 映射到的外键约束。
Fluent API 用于 VB.NET
本演练展示了在 VB.NET 项目中如何使用 Fluent API。
Code First 迁移
如要了解关于升级的更多信息,请下载并用 Code First 迁移创建 SQL 脚本。
自动化 Code First 迁移
自动化迁移让您无须在项目中执行基于代码的迁移即可升级数据库。
Migrate.exe
使用 migrate.exe 从命令行实现到数据库的迁移。
定义 DbSet
讨论在派生的上下文中定义 DbSet 的各种选项。
使用 EF 设计器创建模型

这些主题专门讨论使用 EF 设计器创建的模型。

对新数据库使用 EF 设计器(Model First)
通过 Model First 用方框和线条来定义模型,然后生成数据库。
对现有数据库使用 EF 设计器(Database First)
用 Database First 创建映射到现有数据库的方框和线条模型。
复杂类型
讨论如何将实体的属性组合成复杂类型。
关联/关系
了解如何在模型中配置关系。
TPT 继承模式
了解如何在模型中实现“每类型一张表”(TPT) 继承模式。
TPH 继承模式
了解如何在模型中实现“每个层次结构一张表”(TPH) 继承模式。
用存储过程进行查询
用存储过程从数据库中加载数据。
返回多个结果集的存储过程
用返回多个结果集的存储过程从数据库中加载数据。
用存储过程插入、更新和删除数据
用存储过程插入、更新和删除数据。
将实体映射到多个表(实体拆分)
了解如何将一个实体的属性映射到多个表的列。
将多个实体映射到一个表(表拆分)
了解如何将一个表的列映射到多个实体中的属性。
定义式查询
定义式查询与视图类似,是在模型中而非数据库中定义的。
代码生成模板
讨论如何对从模型生成的代码进行定制。
恢复为使用 ObjectContext
在 VS2012 中创建的新模型所生成的代码使用 DbContext,但也可以恢复为使用 ObjectContext。
EDMX 文件
相关内容涵盖 EDMX 文件属性和 xml 格式规范(包括 CSDL、 SSDL 和 MSL)。

了解有关使用模型的更多信息

使用 DbContext
上下文类实例管理指南。
查询/找到实体
了解如何用 LINQ 和 Find 方法从数据库中检索数据。
使用关系
讨论如何用关系来访问和操作数据。
加载相关实体
在加载相关数据时,EF 支持“预先”、“延迟”和“显式”三种加载模式。
使用本地数据
访问内存中的实体实例以及 EF 对这些实例的其他跟踪信息。
N 层应用程序
了解如何用实体框架来构建 N 层应用程序,包括 自跟踪实体
原始 SQL 查询
讨论如何从直接操作数据库的原始 SQL 查询中加载数据。
乐观并发模式
了解在 EF 中处理并发异常的各种策略。
使用代理
代理从实体派生而来,并重写其中的虚拟属性,以启用诸如“延迟加载”等功能。
自动检测更改
讨论检测更改是指什么,以及何时需要禁用自动检测更改。
无跟踪查询
无跟踪查询允许在查询实体时上下文不对查询结果进行跟踪。
Load 方法
将实体从数据库加载到上下文中,但并不立即对这些实体做任何操作。
添加/附加和实体状态
熟悉了解在断开连接/N 层场景中,如何添加和附加实体以及设置实体状态。
使用属性值
讨论如何访问实体实例的当前值、原始值和数据库值。
API 文档
介绍有关实体框架中特定的命名空间、类、属性或方法的更多信息。

将其他技术应用于 EF

ASP.NET MVC
EF 提供了 MVC 中的 M(模型)。本教程从 第 4 章开始使用 EF 进行数据访问。
ASP.NET Web API
使用 EF 和 ASP.NET Web API 构建应用到大范围客户端的 HTTP 服务。
ASP.NET Web 窗体
讨论如何在 Web 窗体应用程序中使用 EF 进行数据访问。
WPF - Windows Presentation Foundation
了解如何在 WPF 中使用实体框架创建大纲/细节窗口以进行数据访问。
WinForms - Windows 窗体
了解如何在 WinForms 中使用实体框架创建大纲/细节窗口以进行数据访问。

EF学习 开始操作02的更多相关文章

  1. EF学习笔记(十二):EF高级应用场景

    学习总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 上篇链接:EF学习笔记(十一):实施继承 本篇原文链接:Advanced Entity Framework Scenari ...

  2. EF学习笔记(十一):实施继承

    学习总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 上篇链接:EF学习笔记(十) 处理并发 本篇原文链接:Implementing Inheritance 面向对象的世界里, ...

  3. EF学习笔记(十) 处理并发

    总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 上一篇:EF学习笔记(九):异步处理和存储过程 本篇原文链接:Handling Concurrency Concurrency ...

  4. EF学习笔记(九):异步处理和存储过程

    总目录:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 上一篇:EF学习笔记(八):更新关联数据 本篇原文:Async and Stored Procedures 为何要采用异步? ...

  5. EF学习笔记(八):更新关联数据

    学习笔记主目录链接:ASP.NET MVC5 及 EF6 学习笔记 - (目录整理) 上一篇链接:EF学习笔记(七):读取关联数据 本篇原文链接:Updating Related Data 本篇主要考 ...

  6. 关于有默认值的字段在用EF做插入操作时的思考(续)

    问题描述 今天下午(看现在这时间,应该是昨天下午了哈),园友 choon 写了这样一篇博文<关于有默认值的字段在用EF做插入操作时的思考>. 博文内容主要记录的是 choon 使用 EF ...

  7. 关于有默认值的字段在用EF做插入操作时的思考

    今天在用EF做插入操作的时候发现数据库中一个datetime类型的字段(CreateDate)的值居然全部为null.于是赶紧看表结构发现CreateDate字段居然是允许为空的. 虽然为空,但是设置 ...

  8. 4-python学习——数据操作

    4-python学习--数据操作 参考python类型转换.数值操作(收藏) Python基本运算符 数据类型转换: 有时候,可能需要执行的内置类型之间的转换.类型之间的转换,只需使用类名作为函数. ...

  9. 强化学习读书笔记 - 02 - 多臂老O虎O机问题

    # 强化学习读书笔记 - 02 - 多臂老O虎O机问题 学习笔记: [Reinforcement Learning: An Introduction, Richard S. Sutton and An ...

随机推荐

  1. 【安装.net framework4.0】之安装失败,“安装时发生严重错误”

    在网上查了很多资料都说改什么文件名和注册表什么的,根本没用,后来查到一篇文章,提供了下面的解决办法: 地址:<Microsoft .NET Framework 4.0安装时发生严重错误 无法安装 ...

  2. Python鸡汤

    标准库 很正确 外部库 有一些风险,可能有bug,可能文档不全,可能长时间未更新. ipython 1 pip 这应该是安装Python后第一个需要的命令 pip install -i -i, --i ...

  3. py.test

    只运行某一个用例 pytest test_mod.py::test_func 或者 pytest test_mod.py::TestClass::test_method

  4. 04 Memcached过期机制与删除机制

    一:Memcached过期机制(1)当某个值过期后,并没有从内存删除,因此stats统计时,curr_item有气信息.(2)如果之前有没有get取其值时,将不会自动删除.当某个新值去占用他的位置的时 ...

  5. mysql5.5.30源码安装及主从搭建

    双机热备(实验环境) 主服务器:ip地址192.168.100.244,mysql版本5.5.30,源码安装 从服务器:ip地址192.168.100.245 一.源码安装mysql5.5 启动目录: ...

  6. Linux守护进程简单介绍和实例具体解释

    Linux守护进程简单介绍和实例具体解释 简单介绍 守护进程(Daemon)是执行在后台的一种特殊进程.它独立于控制终端而且周期性地执行某种任务或等待处理某些发生的事件.守护进程是一种非常实用的进程. ...

  7. Linux进程间通信(五) - 信号灯(史上最全)及其经典应用案例

    信号灯概述 什么是信号灯 信号灯用来实现同步,用于多线程,多进程之间同步共享资源(临界资源). PV原语:信号灯使用PV原语 P原语操作的动作是: u  sem减1. u  sem减1后仍大于或等于零 ...

  8. IOS ARC内存管理,提高效率避免内存泄露

    本文转载至 http://blog.csdn.net/allison162004/article/details/38756263 Cocoa内存管理机制 (1)当你使用new.alloc.copy方 ...

  9. 【HTML5开发系列】DOM及其相关

    对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展标志语言的标准编程接口.DOM把Javascript和HTML文档的结构和内容连接起来,通过DOM可以控 ...

  10. java的小知识点

    1 获取当前路径 System.getProperty("user.dir") System.getProperty()参数大全# java.version            ...