【发布时间】:2012-07-14 22:46:12
【问题描述】:
我是 WCF 的新手,我需要帮助来理解一些东西。
我创建了一个 WCF 数据服务,它返回由服务从实体映射的 DTO。在我的服务合同接口上,我有一些方法 GetMyDto 返回 IQueryable<MyDto>。
我在 MVC 应用程序中添加了对此服务的服务引用。然后接口和代理客户端返回List<MyDto>(或者我可以选择其他几个集合类型)而不是IQueryable<MyDto>。
我知道IQueryable 不能暴露给客户端,但如果我在客户端上过滤(即MyServiceClient.GetMyDto().Where(x => x.SomeValue == 1)),它会在客户端还是服务器上过滤?
我的理解是它可以使用 odata,但是我看到的所有示例都直接将实体模型暴露给客户端,我没有这样做。我正在使用 DTO。
我有什么限制?帮助我准确了解调用服务时发生的情况。
【问题讨论】:
标签: wcf wcf-data-services odata iqueryable