<?xml version="1.0" encoding="utf-8" ?>
<?xml-stylesheet type="text/xsl" href="RSS_xslt_style.asp" version="1.0" ?>
<rss version="2.0" xmlns:WebWizForums="http://syndication.webwiz.co.uk/rss_namespace/">
 <channel>
  <title>DevForce Community Forum : left outer join with devforce</title>
  <link>http://www.ideablade.com/forum/</link>
  <description>This is an XML content feed of; DevForce Community Forum : DevForce 2010 : left outer join with devforce</description>
  <pubDate>Wed, 13 May 2026 18:18:02 -700</pubDate>
  <lastBuildDate>Thu, 03 Nov 2011 02:40:46 -700</lastBuildDate>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Web Wiz Forums 9.69</generator>
  <ttl>360</ttl>
  <WebWizForums:feedURL>www.ideablade.com/forum/RSS_post_feed.asp?TID=3056</WebWizForums:feedURL>
  <image>
   <title>DevForce Community Forum</title>
   <url>http://www.ideablade.com/forum/forum_images/IdeaBlade_logo_tm.png</url>
   <link>http://www.ideablade.com/forum/</link>
  </image>
  <item>
   <title>left outer join with devforce : thx, it works.Regards,Johannes...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3056&amp;PID=11991#11991</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=1248" rel="nofollow">JJANSSEN</a><br /><strong>Subject:</strong> 3056<br /><strong>Posted:</strong> 03-Nov-2011 at 2:40am<br /><br />thx, it works.<br><br>Regards,<br>Johannes    <br>]]>
   </description>
   <pubDate>Thu, 03 Nov 2011 02:40:46 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3056&amp;PID=11991#11991</guid>
  </item> 
  <item>
   <title>left outer join with devforce : Hi Johannes;As it turns out, you...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3056&amp;PID=11973#11973</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=912" rel="nofollow">DenisK</a><br /><strong>Subject:</strong> 3056<br /><strong>Posted:</strong> 01-Nov-2011 at 4:32pm<br /><br />Hi Johannes;<div><br></div><div>As it turns out, you can actually cast the original query into an IEntityQuery and get ExecuteAsync from it.</div><div><br></div><div><table width="99%"><tr><td><pre class="BBcode"></div><div><div>var query = from c in mgr.Categories</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;join p in mgr.Products</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;on c equals p.Category into ps</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;from p in ps.DefaultIfEmpty()</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;select new { Category = c, ProductName = p == null ? "(No products)" : p.ProductName };</div><div><br></div><div>var ieq = query as IEntityQuery;</div><div>ieq.ExecuteAsync();</div></div><div></pre></td></tr></table></div>]]>
   </description>
   <pubDate>Tue, 01 Nov 2011 16:32:43 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3056&amp;PID=11973#11973</guid>
  </item> 
  <item>
   <title>left outer join with devforce : Hi Johannes;Using PassthruEsqlQuery...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3056&amp;PID=11967#11967</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=912" rel="nofollow">DenisK</a><br /><strong>Subject:</strong> 3056<br /><strong>Posted:</strong> 31-Oct-2011 at 5:52pm<br /><br />Hi Johannes;<div><br></div><div>Using PassthruEsqlQuery is certainly one option. Another is using an RPC method where you can execute the exact same query on the server synchronously.&nbsp;<a href="http://drc.ideablade.com/xwiki/bin/view/&#068;ocumentati&#111;n/rsmc-query" target="_blank">http://drc.ideablade.com/xwiki/bin/view/Documentation/rsmc-query</a></div><div><br></div><div>One other possible solution is using a sub-query but I haven't been able to get that to work. I'm going to ask a senior engineer for suggestions. I'll let you know the result.</div>]]>
   </description>
   <pubDate>Mon, 31 Oct 2011 17:52:22 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3056&amp;PID=11967#11967</guid>
  </item> 
  <item>
   <title>left outer join with devforce : Thx DenisK,the solution works...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3056&amp;PID=11961#11961</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=1248" rel="nofollow">JJANSSEN</a><br /><strong>Subject:</strong> 3056<br /><strong>Posted:</strong> 28-Oct-2011 at 7:36am<br /><br />Thx DenisK,<br><br>the solution works for littel result. <br>But for big amount it is not a great and fast solution. <br>A DB-View can resolve the problem. <br>I search for a simple way to invoke a async left outer join Statement without a db-view. <br><br>Can it be a solution to invoke the statement with the PassthruEsqlQuery class?<br><br>Regards,<br>Johannes ]]>
   </description>
   <pubDate>Fri, 28 Oct 2011 07:36:56 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3056&amp;PID=11961#11961</guid>
  </item> 
  <item>
   <title>left outer join with devforce : Hi Johannes;Yes, it&amp;#039;s possible,...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3056&amp;PID=11957#11957</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=912" rel="nofollow">DenisK</a><br /><strong>Subject:</strong> 3056<br /><strong>Posted:</strong> 27-Oct-2011 at 8:32pm<br /><br />Hi Johannes;<div><br></div><div>Yes, it's possible, but unfortunately, in async world, things are not as straightforward as you'd like.</div><div><br></div><div>The query above won't work in async mode because the call "into ps" and "ps.DefaultIfEmpty()") require immediate execution. Async doesn't allow immediate execution.</div><div><br></div><div>At this point, we have to bring both categories and products first to the client before we can apply the join statement. There several ways to do this but one that I like to use is by way of Coroutines (<a href="http://drc.ideablade.com/xwiki/bin/view/&#068;ocumentati&#111;n/coroutines" target="_blank">http://drc.ideablade.com/xwiki/bin/view/Documentation/coroutines</a>)</div><div><br></div><div><table width="99%"><tr><td><pre class="BBcode"></div><div><div>&nbsp; &nbsp; &nbsp; var op = Coroutine.Start(AsyncLeftOuterJoinQueryCore);</div><div>&nbsp; &nbsp; &nbsp; op.Completed += (s, args) =&gt; {</div><div>&nbsp; &nbsp; &nbsp; &nbsp; var queryResult = args.Result;</div><div>&nbsp; &nbsp; &nbsp; };</div></div><div><br></div><div><div>&nbsp; &nbsp;private IEnumerable&lt;INotifyCompleted&gt; AsyncLeftOuterJoinQueryCore() {</div><div>&nbsp; &nbsp; &nbsp; var mgr = new EntityManager();</div><div>&nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; //bring down categories</div><div>&nbsp; &nbsp; &nbsp; var catQuery = mgr.Categories;</div><div>&nbsp; &nbsp; &nbsp; var catOp = catQuery.ExecuteAsync();</div><div>&nbsp; &nbsp; &nbsp; yield return catOp;</div><div><br></div><div>&nbsp; &nbsp; &nbsp; //bring down products</div><div>&nbsp; &nbsp; &nbsp; var prodQuery = mgr.Products;</div><div>&nbsp; &nbsp; &nbsp; var prodOp = prodQuery.ExecuteAsync();</div><div>&nbsp; &nbsp; &nbsp; yield return prodOp;</div><div><br></div><div>&nbsp; &nbsp; &nbsp; var categories = catOp.Results;</div><div>&nbsp; &nbsp; &nbsp; var products = prodOp.Results;</div><div><br></div><div>&nbsp; &nbsp; &nbsp; var result = from c in categories</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;join p in products</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;on c equals p.Category into ps</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;from p in ps.DefaultIfEmpty()</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;select new { Category = c, ProductName = p == null ? "(No products)" : p.ProductName };</div><div>&nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; yield return Coroutine.Return(result);</div><div>&nbsp; &nbsp; }</div></div><div></pre></td></tr></table></div><div><br></div><div>Hope this helps.</div>]]>
   </description>
   <pubDate>Thu, 27 Oct 2011 20:32:32 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3056&amp;PID=11957#11957</guid>
  </item> 
  <item>
   <title>left outer join with devforce : Hi,is it possible to invoke Async...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=3056&amp;PID=11936#11936</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=1248" rel="nofollow">JJANSSEN</a><br /><strong>Subject:</strong> 3056<br /><strong>Posted:</strong> 26-Oct-2011 at 10:36am<br /><br />Hi,<br><br>is it possible to invoke Async Query with a left out join between two tables?<br><br>This is an example from <a href="http://msdn.microsoft.com/en-us/vcsharp/ee908647#leftouterjoin" target="_blank">http://msdn.microsoft.com/en-us/vcsharp/ee908647#leftouterjoin</a> . But DefaultIfEmpty() destroy the asyncable syntax, "query.ExecuteAsync()" is not valid.<br><br><table width="99%"><tr><td><pre class="BBcode"><br>&nbsp;&nbsp; var query = from c in Manager.categories <br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; join p in products on c equals p.Category into ps&nbsp;&nbsp; &nbsp; <br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from p in ps.DefaultIfEmpty() <br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; select new { Category = c, ProductName = p == null ? "(No products)" : p.ProductName }; <br>&nbsp;&nbsp; return <font color=RED>query.ExecuteAsync().OnComplete(onSuccess, onFail); </font> <br></pre></td></tr></table><br><br>Regards,<br>Johannes <br>]]>
   </description>
   <pubDate>Wed, 26 Oct 2011 10:36:53 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=3056&amp;PID=11936#11936</guid>
  </item> 
 </channel>
</rss>