Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 864d1c3c3cd8df4e3a2692faf8776e05 > files > 949

db4o-doc-7.4-2.fc13.i686.rpm

<html>
  <head>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>SODA Query Graph</title>
    <link rel="stylesheet" type="text/css" href="../../../../style.css">
  </head>
  <body>
    <div class="CommonContent">
      <div class="CommonContentArea">
        <h1>SODA Query Graph</h1><p><br><br>SODA
allows to create a query graph of any complexity by joining field object
constraints. SODA
usage is very generic and can be applied to any objects and conditions. The
following 5 steps can be used (all steps are optional and can be repeated
logically):</p>

<ul class="unIndentedList"><li>
create a root of a query object<br><br><span name="cs_wiki_filter" csw_filters="cs"><br>
c#:<br><code>
IQuery queryRootNode = db.Query();</code><br>
</span><br>
<span name="cs_wiki_filter" csw_filters="vb"><br>

VB:<br>

<code>IQuery queryRootNode = db.Query()</code><br>

</span><br></li><li>
add constraints to any node anywhere<br><br><span name="cs_wiki_filter" csw_filters="cs"><br>
c#:<br><code>queryRootNode.Constrain(typeof(Foo));</code><br>
</span><br><span name="cs_wiki_filter" csw_filters="vb"><br>

VB:<br>
<code>queryRootNode.Constrain(GetType(Foo))</code><br>

</span><br></li><li>
navigate from any query node to any subordinate
node<br><br><span name="cs_wiki_filter" csw_filters="cs"><br>c#:<br><code>IQuery barNode = queryRootNode.Descend("bar");</code><br>
</span><br><span name="cs_wiki_filter" csw_filters="vb"><br>
VB:<br>
<code>IQuery barNode = queryRootNode.Descend("bar")</code><br>

</span><br></li><li>
add further constraints to any node<br><br><span name="cs_wiki_filter" csw_filters="cs"><br>
c#:<br><code>IConstraint barConstraint = barNode.Constrain(5);</code><br>
</span><br>
<span name="cs_wiki_filter" csw_filters="vb"><br>

VB:<br>
<code>IConstraint barConstraint = barNode.Constrain(5)</code><br>

</span><br></li><li>
set the evaluation mode of a node<br><br><span name="cs_wiki_filter" csw_filters="cs"><br>
c#:<br><code>barConstraint().Greater();</code><br>
</span><br><span name="cs_wiki_filter" csw_filters="vb"><br>

VB:<br>
<code>barConstraint().Greater()</code><br>

</span><br></li></ul>









<p>The
API is very powerful with a small number of method calls.</p>

<p>The
"backward" order to add constraints first and to specify the
evaluation mode as a second step allows plugging complex objects into a query.</p><br></div>
    </div>
    <div id="footer">
					This revision (2) was last Modified 2008-03-02T14:48:05 by Tetyana.
				</div>
  </body>
</html>