【发布时间】:2013-02-08 14:18:12
【问题描述】:
好的,假设我有许多类型为“Office”的实体,并且它有一个名为“employees”的关系,这是一个包含“Employee”对象的一对多关系。 “Employee”有一个名为“lastName”的属性。
鉴于此,我需要执行一个获取,返回一个 Office 对象数组,这些对象具有 > 0 个员工,但在返回的办公室中,员工关系中的 Employee 对象已被过滤为仅包含 lastName 等于的 Employee 对象“史密斯”。
我可以轻松地获取所有 Office 对象,然后遍历它们并删除所有姓名与 Smith 不匹配的员工,但这会删除商店中的这些对象。
我假设这里需要 SUBQUERY,但我似乎无法正确过滤它。有什么想法吗?
【问题讨论】:
-
我似乎无法正确过滤,给我们看一些代码吗?
-
您尝试做的事情是不可能的。获取请求返回一个对象数组,访问它们的关系会给出相关对象,它们当前是在托管对象上下文中定义的。过滤器可以限制获取请求返回的哪些对象,但不能限制返回对象的属性。
-
是的 Martin R,这就是我得出的结论。我想我将不得不抓住所有员工,过滤它们并将它们存储在一个临时的地方,而不触及所有员工的原始集合。非常感谢。