有几种方法可以解决它。我可以序列化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 解决方案,但我希望有一些稳定、轻量级、活跃、支持良好且经常更新的东西。