<?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 : Query Inversion not working in EntityServerSaveInterceptor ?</title>
  <link>http://www.ideablade.com/forum/</link>
  <description>This is an XML content feed of; DevForce Community Forum : DevForce 2012 : Query Inversion not working in EntityServerSaveInterceptor ?</description>
  <pubDate>Sat, 11 Apr 2026 05:06:45 -700</pubDate>
  <lastBuildDate>Mon, 08 Jul 2013 18:02:44 -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=4212</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>Query Inversion not working in EntityServerSaveInterceptor ? : Hi kdev,  I was able to reproduce...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=4212&amp;PID=16556#16556</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=892" rel="nofollow">sbelini</a><br /><strong>Subject:</strong> 4212<br /><strong>Posted:</strong> 08-Jul-2013 at 6:02pm<br /><br />Hi kdev,<br /><br />I was able to reproduce the problem and am bringing this up to our senior engineer.<br />]]>
   </description>
   <pubDate>Mon, 08 Jul 2013 18:02:44 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=4212&amp;PID=16556#16556</guid>
  </item> 
  <item>
   <title>Query Inversion not working in EntityServerSaveInterceptor ? : Hi,  I have a strange behaviour...</title>
   <link>http://www.ideablade.com/forum/forum_posts.asp?TID=4212&amp;PID=16534#16534</link>
   <description>
    <![CDATA[<strong>Author:</strong> <a href="http://www.ideablade.com/forum/member_profile.asp?PF=1623" rel="nofollow">kdev</a><br /><strong>Subject:</strong> 4212<br /><strong>Posted:</strong> 05-Jul-2013 at 8:33am<br /><br />Hi,<br /><br />I have a strange behaviour with, I think the Query inversion, in my EntityServerInterceptor in Fake mode.<br /><br />Exemple : In a for loop, I try to always load the same entity.<br /><br />Case 1 : Mode normal (QueryStrategy = Normal)<br /><br /><font face="Courier New, Courier, mono"><br />protected override void ExecuteSave()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;...<br />&nbsp;&nbsp;&nbsp;&nbsp;var CounterName = "test";<br />&nbsp;&nbsp;&nbsp;&nbsp;for(int bcl = 1 ; bcl &lt; 4; bcl++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var compteur = new EntityQuery&lt;Compteur&gt;().With(EntityManager).FirstOrNullEntity(p =&gt; p.Code == CounterName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (compteur.EntityFacts.IsNullEntity)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;compteur = Compteur.Create(CounterName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityManager.AddEntity(compteur);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compteur.Valeur = compteur.Valeur + 1;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></font><br /><br />=&gt; 1st iteration an entity is created, <font color=red>others iteration get the newly entity.</font><br /><br /><br />case 2 : Mode Fake (QueryStrategy = Normal)<br /><br /><font face="Courier New, Courier, mono"><br />{ Same code }<br /></font><br /><br />=&gt; Each iteration create a new Entity, the EntityManager never find the 1st entity.<br /><br />case 3 : Mode Fake + QueryStrategy.DateSourceThenCache<br /><br /><font face="Courier New, Courier, mono"><br />protected override void ExecuteSave()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;...<br />&nbsp;&nbsp;&nbsp;&nbsp;var CounterName = "test";<br />&nbsp;&nbsp;&nbsp;&nbsp;for(int bcl = 1 ; bcl &lt; 4; bcl++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var compteur = new EntityQuery&lt;Compteur&gt;().With(EntityManager).With(queryStrategy.DataSourceThenCache).FirstOrNullEntity(p =&gt; p.Code == CounterName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (compteur.EntityFacts.IsNullEntity)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;compteur = Compteur.Create(CounterName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityManager.AddEntity(compteur);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compteur.Valeur = compteur.Valeur + 1;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />=&gt; Give the same result as case 1.<br /></font><br /><br />&nbsp;&nbsp;&nbsp;&nbsp;<br />Case 4 : Use of an EntityKeyQuery in Fake store (QueryStrategy.Normal)<br /><br /><font face="Courier New, Courier, mono"><br />protected override void ExecuteSave()<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;...<br />&nbsp;&nbsp;&nbsp;&nbsp;var CounterName = "test";<br />&nbsp;&nbsp;&nbsp;&nbsp;for(int bcl = 1 ; bcl &lt; 4; bcl++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var queryKey = new EntityKey(typeof(Compteur), CounterName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var query = new EntityKeyQuery(queryKey);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var compteur = EntityManager.ExecuteQuery(query).Cast&lt;Compteur&gt;().FirstOrDefault();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (compteur == null || compteur.EntityFacts.IsNullEntity)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;compteur = Compteur.Create(CounterName);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;EntityManager.AddEntity(compteur);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; compteur.Valeur = compteur.Valeur + 1;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br /></font><br /><br />=&gt; Give the same result as case 1.<br /><br />Regards,<br />]]>
   </description>
   <pubDate>Fri, 05 Jul 2013 08:33:59 -700</pubDate>
   <guid isPermaLink="true">http://www.ideablade.com/forum/forum_posts.asp?TID=4212&amp;PID=16534#16534</guid>
  </item> 
 </channel>
</rss>