下表是DbContext API 的功能概览
DbContext API 类/功能 | 相关的EF4 类/功能 | 目的 | DbContext API 优点 |
DbContext | ObjectContext | 代表与数据库连接的会话,提供了查询、状态跟踪、保存等功能 | 简化了大部分ObjectContext功能 |
DbSet 【内存中】 | ObjectSet | 对实体类型提供了集合操作,比如Add、Attach、Remove。 继承了DbQuery,所以可以提供查询功能 DbSet 表示上下文中给定类型的所有实体的集合或可从数据库中查询的给定类型的所有实体的集合。 可以使用 DbContext.Set 方法从 DbContext 中创建 DbSet 对象。 find现在上下问内存里找,没有再去发送sql | 简化了大部分ObjectSet功能 |
DbQuery | ObjectQuery | 提供查询功能 | DbQuery的查询功能集成在DbSet中, 所以不用直接操作DbQuery |
Change Tracker API | ObjectContext. ObjectStateManager | 获得实体变化跟踪信息以及相关的操作(original values、current values) 受上下文管理 | 更简单、更直观的API |
Validation API | N/A | 提供自动的数据验证。这个API 利用了.NET 4原生的验证功能 | 新的 |
Code First Model Building | N/A | 基于已有的类以及配置信息来创建数据库及其元数据 | 新的 |
如何在自己项目中使用DbContext API