是否存在 ObjectContext 中不可用的 DbContext 函数?
微软有一个描述 DbContext 功能的介绍文章。
其中一些,例如 过滤相关实体 我在 ObjectContext 中没有看到过。
该功能对于 DbContext 来说真的是新功能,并且在 ObjectContext 中不可用吗? 还有哪些其他“新”功能? 或者 DbContext 只是一个简化的 API,与 ObjectContext 具有相同的功能?
Microsoft has an introduction article describing DbContext features.
Some of them, like filtering related entities I hadn't seen in ObjectContext.
Is that functionality really new for DbContext and not available in ObjectContext?
What are the other "new" functions?
Or is DbContext just a simplified API over the same functionality that ObjectContext has?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
来自 MSDN:DbContext 包装了 ObjectContext,并通过使用简化且更直观的 API 公开了 ObjectContext 最常用的功能。每当需要使用 DbContext 不支持的功能时,您都可以访问底层 ObjectContext。
支持加载相关实体,但不支持过滤它们
所以答案是否定的,只加载相关实体的一部分(在我看来),DbContext 提供了一些辅助方法。当关闭延迟加载时,您可以使用 ObjectContext 实现相同的效果(只需查询相关实体)。
From MSDN: DbContext wraps ObjectContext and exposes the most commonly used features of ObjectContext by using simplified and more intuitive APIs. You can access the underlying ObjectContext whenever you need to use features that are not supported by DbContext.
Loading the related entities is supported, but filtering them is not supported
So the answer is no for loading only a part of related entities (in my opinion), DbContext offers some helper methods. You can achieve the same with ObjectContext when turning off lazy-loading and (just query for the related entities).