0

有几种方法可以解决它。我可以序列化linq查询,但是允许表达式树序列化的OSS项目似乎支持不佳。

是否有更传统的方法来执行以下操作:

// Create the DataServiceContext using the service URI.
NorthwindEntities context = new NorthwindEntities(svcUri);

但不使用实体生成工具。基本上我想使用类似于以下伪代码的东西 - 请注意共享的 IRepository 合同:

new ChannelFactory<IRepository<MyEntity>>(myBinding, myUri).CreateChannel()

此外,我不喜欢完整地导出 DataSet。我只是想让我的常规服务公开 IQueryable 操作。通过这种方式,IQueryable 接口可以更紧密地与业务逻辑耦合,而不是成为一个独立的数据服务。

我接受 OSS 解决方案,但我希望有一些稳定、轻量级、活跃、支持良好且经常更新的东西。

4

1 回答 1

0

如果您想实现存储库模式和大量自定义业务逻辑,Web API 可能是您短期内的最佳选择。在我的 WCF 数据服务优先级列表中,为这两个问题获得更好的支持是非常重要的,但事实是我们现在在这方面还很不足。

Web API 的限制将是 OData 支持的完整性,这可能会随着时间的推移而出现。WCF 数据服务的局限性在于易于业务逻辑插入/软件模式,这可能会随着时间的推移而得到改进。

也就是说,如果你有一个只读服务,反射提供者会做你想做的几乎所有事情。

于 2012-07-24T16:18:02.757 回答