Microsoft 有一篇介绍 DbContext 功能的介绍文章。
其中一些,比如过滤我在 ObjectContext 中没有看到的相关实体。
该功能对于 DbContext 来说真的是新功能并且在 ObjectContext 中不可用吗?其他“新”功能是什么?还是 DbContext 只是 ObjectContext 所具有的相同功能的简化 API?
来自 MSDN:DbContext 包装了 ObjectContext,并通过使用简化且更直观的 API 公开了 ObjectContext 最常用的功能。每当您需要使用 DbContext 不支持的功能时,您都可以访问底层 ObjectContext。
支持加载相关实体,但不支持过滤它们
ObjectContext.LoadProperty
所以答案是否定的,只加载一部分相关实体(在我看来),DbContext 提供了一些辅助方法。关闭延迟加载和(仅查询相关实体)时,您可以使用 ObjectContext 实现相同的目的。