Contents
Contents
Entity Framework
比较 EF Core 和 EF6
同一应用程序中的 EF6 和 EF Core
从 EF6 移植到 EF Core
验证要求
移植基于 EDMX 的模型
移植基于 Code 的模型
Entity Framework Core
新增功能
路线图
EF Core 3.0(预览版)
新增功能
中断性变更
EF Core 2.2(最新版)
EF Core 2.1
EF Core 2.0
EF Core 1.1
EF Core 1.0
从早期版本升级
从 1.0 RC1 升级到 RC2
从 1.0 RC2 升级到 RTM
从 1.x 升级到 2.0
入门
安装 EF Core
.NET Core
新建数据库
ASP.NET Core
新建数据库
现有数据库
EF Core 和 Razor Pages
通用 Windows 平台 (UWP)
新建数据库
.NET Framework
新建数据库
现有数据库
基础知识
连接字符串
日志记录
连接弹性
测试
使用 SQLite 进行测试
使用 InMemory 进行测试
配置 DbContext
创建模型
包含类型和排除类型
包含属性和排除属性
键(主要)
生成的值
必需/可选属性
最大长度
并发令牌
阴影属性
关系
索引
备用键
继承
支持字段
值转换
数据种子设定
实体类型构造函数
固有实体类型
查询类型
具有相同 DbContext 的交替模型
空间数据 (GIS)
关系数据库建模
表映射
列映射
数据类型
主键
默认架构
计算列
序列
默认值
索引
外键约束
备用键(唯一约束)
继承(关系数据库)
管理数据库架构
迁移
团队环境
自定义操作
使用独立项目
多个提供程序
自定义历史记录表
创建和删除 API
反向工程(基架)
查询数据
基本查询
加载关联数据
客户端与服务器评估
跟踪与非跟踪
原始 SQL 查询
异步查询
查询的工作原理
全局查询筛选器
查询标记
保存数据
基本保存
关联数据
级联删除
并发冲突
事务
异步保存
处于连接断开状态的实体
生成的属性的显式值
支持的 .NET 实现
数据库提供程序
Microsoft SQL Server
内存优化表
SQLite
SQLite 限制
InMemory(用于测试)
编写数据库提供程序
提供程序影响的更改
工具和扩展
命令行参考
包管理器控制台 (Visual Studio)
.NET Core CLI
设计时 DbContext 创建
设计时服务
EF Core API 参考
Entity Framework 6
新增功能
路线图
以前的版本
升级到 EF6
Visual Studio 版本
入门
基础知识
获取 Entity Framework
使用 DbContext
了解关系
异步查询和保存
Configuration
基于代码
配置文件
连接字符串
依赖项解析
连接管理
连接弹性
重试逻辑
事务提交失败
数据绑定
WinForms
WPF
断开连接的实体
自跟踪实体
演练
日志记录和拦截
性能
性能注意事项
使用 NGEN
使用预生成的视图
提供程序
EF6 提供程序模型
提供程序中的空间支持
使用代理
使用 EF6 进行测试
使用模拟
编写自己的测试双精度值
使用 EF4 的可测试性(文章)
创建模型
使用 Code First
工作流
使用新数据库
使用现有数据库
数据注释
DbSets
数据类型
枚举
空间
约定
内置约定
自定义约定
模型约定
Fluent 配置
关系
类型和属性
在 Visual Basic 中使用
存储过程映射
迁移
自动迁移
使用现有数据库
自定义迁移历史记录
使用 Migrate.exe
团队环境中的迁移
使用 EF 设计器
工作流
Model-First
Database-First
数据类型
复杂类型
枚举
空间
拆分映射
实体拆分
表拆分
继承映射
每个层次结构的表
每种类型的表
映射存储过程
查询
更新
映射关系
多个关系图
选择运行时版本
代码生成
Legacy ObjectContext
高级
EDMX 文件格式
定义查询
多个结果集
表值函数
键盘快捷键
查询数据
Load 方法
本地数据
跟踪和无跟踪查询
使用原始 SQL 查询
查询相关数据
保存数据
更改跟踪
自动检测更改
实体状态
属性值
处理并发冲突
使用事务
数据验证
其他资源
博客
案例研究
参与
获取帮助
术语表
School 示例数据库
工具和扩展
许可证
EF5
简体中文
繁体中文
德语
英语
西班牙语
法语
意大利语
日语
韩语
俄语
EF6
预发行
简体中文
繁体中文
德语