Я создаю прототип универсального браузера данных через службы данных 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)")
У меня возникла проблема с использованием динамического соединения. См .: текст ссылки
Является ли ctx.Execute правильным способом для запроса результатов, когда типы не известны до времени выполнения?
Кто-нибудь лучше знает, как реализовать динамические объединения через службы данных?