我正在通过 WCF 数据服务对通用数据浏览器进行原型设计。
用户可以从 TreeView 中选择实体,因此我无法对查询结果类型进行硬编码,而必须对查询(URI 或 LINQ)进行动态编码。
为了提供跨不同数据服务的连接,我将每个数据服务的结果加载到客户端,并尝试动态连接它们:
Dim q1 As IQueryable = ctx.Execute(Of Object)(New Uri("Service1.svc/Customers")).ToList.AsQueryable
Dim q2 As IQueryable = ctx.Execute(Of Object)(New Uri("Service2.svc/Orders")).ToList.AsQueryable
Dim j = q1.JoinDynamic("q1", q2, "q2", "q1.CustomerID", "q2.CustomerID", "New (q1.CustomerID as q1id, q1.CompanyName as CompanyName)")
我在使用 dynamich Join 时遇到了问题。见:链接文字
当类型直到运行时才知道时,ctx.Execute 是查询结果的正确方法吗?
有人对如何通过数据服务实现动态连接有更好的想法吗?