Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 2e9c43658e374d290a2de15d25134ac8 > files > 561

db4o-doc-8.0-1.fc15.i686.rpm

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns:MadCap="http://www.madcapsoftware.com/Schemas/MadCap.xsd" MadCap:lastBlockDepth="2" MadCap:lastHeight="120" MadCap:lastWidth="624" MadCap:disableMasterStylesheet="true" MadCap:tocPath="Basics Operations &amp; Concepts|Querying" MadCap:InPreviewMode="false" MadCap:RuntimeFileType="Topic" MadCap:TargetType="WebHelp" MadCap:PathToHelpSystem="../../../" MadCap:HelpSystemFileName="index.xml" MadCap:SearchType="Stem">
    <head><title>SODA Query</title>
        <script type="text/javascript">/* <![CDATA[ */
window.onload = function(){
	var pathToFlash = $('html').attr('MadCap:PathToHelpSystem') + 'Content/Resources/Code/ZeroClipboard.swf';
	ZeroClipboard.setMoviePath(pathToFlash);
			
	function bindToClipBord(element,content){
		var clip = new ZeroClipboard.Client();
		clip.setText(content);
		clip.glue(element);
	};
		
	if(location.protocol==='file:'){
		$('.copylink-marker').remove();
	} else{
			$('.copylink-marker').each(function(){
				var text = $(this).parent().parent().children('.prettyprint').html();
				$(this).hover(function(){
					bindToClipBord(this,text);
				},
				function(){});
			});	
	}		
	prettyPrint();	
};
                /* ]]> */</script>
        <link href="../../SkinSupport/MadCap.css" rel="stylesheet" />
        <link href="../../Resources/Stylesheets/OnlineStyle.css" rel="stylesheet" />
        <script src="../../Resources/Code/prettify.js">
        </script>
        <script src="../../Resources/Code/lang-vb.js">
        </script>
        <script src="../../Resources/Code/jquery.min.js">
        </script>
        <script src="../../Resources/Code/ZeroClipboard.js">
        </script>
        <script src="../../SkinSupport/MadCapAll.js" type="text/javascript">
        </script>
    </head>
    <body>
        <p class="MCWebHelpFramesetLink" style="display: none;"><a href="../../../index_CSH.html#basics/querying/soda_query.htm" style="">Open topic with navigation</a>
        </p>
        <div class="MCBreadcrumbsBox"><span class="MCBreadcrumbsPrefix">You are here: </span><a class="MCBreadcrumbsLink" href="../../basics.htm">Basics Operations &amp; Concepts</a><span class="MCBreadcrumbsDivider"> &gt; </span><a class="MCBreadcrumbsLink" href="../querying.htm">Querying</a><span class="MCBreadcrumbsDivider"> &gt; </span><span class="MCBreadcrumbs">SODA Query</span>
        </div>
        <p>
            <script type="text/javascript">/*<![CDATA[*/document.write('<a href="' + location.href +'">');
				document.write("Direct Link");
			document.write('</a>');/*]]>*/</script>
        </p>
        <p>
        </p>
        <h1><a name="kanchor17"></a>SODA Query</h1>
        <p>The SODA query API is db4o's low level querying API, allowing direct access to 
nodes of query graphs. Since SODA uses strings to identify fields, it is neither 
perfectly typesafe nor compile-time checked and it also is quite verbose to 
write.</p>
        <p>For most applications <a href="linq.htm" MadCap:conditions="Primary..NET">LINQ</a> will be the 
better querying interface. However there can be applications where 
dynamic generation of queries is required.</p>
        <p>SODA is also an underlying db4o querying mechanism, all other query syntaxes are translated to SODA under the hood:</p>
        <ul>
            <li value="1"><a href="query_by_example.htm">Query By Example</a> is translated to SODA.</li>
            <li value="2"><a href="native_queries.htm">Native Queries</a> use <span class="PrimaryByteCode">bytecode</span> analysis to <a href="native_queries/native_query_optimization.htm">convert</a> to SODA  </li>
            <li MadCap:conditions="Primary..NET" value="3"><a href="linq.htm">LINQ-queries</a> <![CDATA[ ]]>are also converted to          <![CDATA[ ]]><a href="linq/optimization.htm">SODA-Queries</a></li>
        </ul>
        <p>Understanding SODA will provide you with a better understanding of db4o  and will help to write more performant queries and applications. </p>
        <p>Take a look at the SODA-examples to get a feel for SODA-API. <a href="soda/soda_example_catelog.htm" target="" title="" alt="" class="MCXref" xrefformat="See &quot;{paratext}&quot;">See "SODA Query Examples"</a> <![CDATA[ ]]></p>
        <p>Also SODA has special capabilities for certain types like collections etc. <a href="soda/soda_special_case_examples.htm" target="" title="" alt="" class="MCXref" xrefformat="See &quot;{paratext}&quot;">See "SODA Special Cases Examples"</a></p>
        <p>Additionally SODA evaluations can help you implementing queries which go beyond the capabilities of pure SODA queries. <a href="soda/soda_evaluations.htm" target="" title="" alt="" class="MCXref" xrefformat="See &quot;{paratext}&quot;">See "SODA Evaluations"</a></p>
        <p>At last, you need a way to sort the results of a query. <a href="soda/soda_sorting.htm" target="" title="" alt="" class="MCXref" xrefformat="See &quot;{paratext}&quot;">See "SODA Sorting"</a></p>
        <p>&#160;</p>
        <script type="text/javascript" src="../../SkinSupport/MadCapBodyEnd.js">
        </script>
    </body>
</html>