【发布时间】:2011-04-28 02:53:24
【问题描述】:
我在 Silverlight 4 中使用 RIA 服务,并希望限制从服务返回的字段。例如:
TableA:
ID
Field1
Field2
Field3
TableB:
ID
TableAID (foreign key)
Field1
RestrictedField2
在我的域服务类中,我在创建服务时生成了类似的内容。我添加了包含(工作正常):
<RequiresAuthentication()>
Public Function GetTableA() As IQueryable(Of TableA)
Return Me.ObjectContext.TableA.Include("TableB")
End Function
我的问题是,如何在不返回 RestrictedField2 的情况下从 TableA 获取所有列并从 TableB 获取 Field1?我很确定这是通过一些 Linq 的幻想来完成的,但我不太确定如何。
谢谢! 马特
更新
我没有在上面列出的一个要求。 必须在服务器端删除,因为 RestrictedField1 中的数据不可能有任何机会发送到客户端。此外,我将需要在不同的域服务方法中使用此字段(受 RequiresRoleAttribute 保护),因此我可以将信息公开给管理员。这个要求意味着我不想创建一个不同的复杂类型并返回它。我更愿意继续使用 EF 模型类型。
【问题讨论】:
-
我也在 Silverlight 论坛上转发了这个问题,并在下面收到了与我的回答类似的回复:forums.silverlight.net/forums/p/227614/551503.aspx#551503
标签: silverlight-4.0 entity-framework-4 wcf-ria-services