<html> <head> <META http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Custom Query Comparator</title> <link rel="stylesheet" type="text/css" href="../../../style.css"> </head> <body> <div class="CommonContent"> <div class="CommonContentArea"> <h1>Custom Query Comparator</h1><script> //We attach this function to a browser object as a variable so that if multiple of these blocks are //present on the same page, then they will simply over-write eachother with the same function instead //of generating a naming collision. window.WikiCodeFormattingCopyToClipboard = function copyToClipboard(sID){ var sContent = document.getElementById(sID).innerText; if( window.clipboardData && clipboardData.setData ) { clipboardData.setData("Text", sContent); } else { alert("You must enable javascript access to your clipboard for this feature to work. Please referr to your browser documentation or Google search for instructions."); } } </script><p>Db4o allows using a custom comparator for query processing. This can be useful for replacing the standard way of selecting query results, for example, when a non-standard attribute type should be compared as string or integer</p> <p>The usage is best shown on an example. </p> <p>Let's create a custom class containing string information:</p> <span name="cs_wiki_filter" csw_filters="cs"> <div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">MyString.cs</span></div><div class="fscCode"><pre ID=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #008080;">01</span><img id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_0_60_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_0_60_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_0_60_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_0_60_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_0_60_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_0_60_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_0_60_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_0_60_Open_Text').style.display='inline';"/><span id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_0_60_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">/**/</span><span id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_0_60_Open_Text"><span style="color: #008000;">/*</span><span style="color: #008000;"> Copyright (C) 2007 db4objects Inc. </span><span style="color: #008000; text-decoration: underline;">http://www.db4o.com</span><span style="color: #008000;"> </span><span style="color: #008000;">*/</span></span><span style="color: #000000;"> </span><span style="color: #008080;">02</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">namespace</span><span style="color: #000000;"> Db4objects.Db4odoc.Comparing </span><span style="color: #008080;">03</span><span style="color: #000000;"><img id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_100_309_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_100_309_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_100_309_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_100_309_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_100_309_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_100_309_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_100_309_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_100_309_Open_Text').style.display='inline';"/></span><span id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_100_309_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_100_309_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">04</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">class</span><span style="color: #000000;"> MyString </span><span style="color: #008080;">05</span><span style="color: #000000;"><img id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_125_307_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_125_307_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_125_307_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_125_307_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_125_307_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_125_307_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_125_307_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_125_307_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_125_307_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_125_307_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">06</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">private</span><span style="color: #000000;"> </span><span style="color: #0000FF;">string</span><span style="color: #000000;"> _string; </span><span style="color: #008080;">07</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #008080;">08</span><span style="color: #000000;"><img id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_197_226_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_197_226_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_197_226_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_197_226_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_197_226_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_197_226_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_197_226_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_197_226_Open_Text').style.display='inline';"/> </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> MyString(</span><span style="color: #0000FF;">string</span><span style="color: #000000;"> str)</span><span id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_197_226_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_197_226_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> _string </span><span style="color: #000000;">=</span><span style="color: #000000;"> str; </span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> }</span></span><span style="color: #000000;"> </span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #008080;">12</span><span style="color: #000000;"><img id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_271_301_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_271_301_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_271_301_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_271_301_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_271_301_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_271_301_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_271_301_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_271_301_Open_Text').style.display='inline';"/> </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">override</span><span style="color: #000000;"> </span><span style="color: #0000FF;">string</span><span style="color: #000000;"> ToString()</span><span id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_271_301_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsMyString.Cs_MyString.Cs_411_43_271_301_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">13</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> _string; </span><span style="color: #008080;">14</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> }</span></span><span style="color: #000000;"> </span><span style="color: #008080;">15</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> }</span></span><span style="color: #000000;"> </span><span style="color: #008080;">16</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>}</span></span></div></pre></div></div> </span> <span name="cs_wiki_filter" csw_filters="vb"> <div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">MyString.vb</span></div><div class="fscCode"><pre ID=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #008080;">01</span><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/><span style="color: #008000;">'</span><span style="color: #008000;"> Copyright (C) 2007 db4objects Inc. http://www.db4o.com</span><span style="color: #008000;"> </span><span style="color: #008080;">02</span><span style="color: #008000;"><img id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_57_378_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_57_378_Open_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_57_378_Closed_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_57_378_Closed_Text').style.display='inline';"/><img id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_57_378_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_57_378_Closed_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_57_378_Open_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_57_378_Open_Text').style.display='inline';"/></span><span id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_57_378_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Namespace Db4objects</span><span id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_57_378_Open_Text"><span style="color: #0000FF;">Namespace</span><span style="color: #000000;"> Db4objects.Db4odoc.Comparing </span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #008080;">04</span><span style="color: #000000;"><img id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_101_364_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_101_364_Open_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_101_364_Closed_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_101_364_Closed_Text').style.display='inline';"/><img id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_101_364_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_101_364_Closed_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_101_364_Open_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_101_364_Open_Text').style.display='inline';"/> </span><span id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_101_364_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Class MyString</span><span id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_101_364_Open_Text"><span style="color: #0000FF;">Class</span><span style="color: #000000;"> MyString </span><span style="color: #008080;">05</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Private</span><span style="color: #000000;"> _string </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">String</span><span style="color: #000000;"> </span><span style="color: #008080;">06</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #008080;">07</span><span style="color: #000000;"><img id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_166_236_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_166_236_Open_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_166_236_Closed_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_166_236_Closed_Text').style.display='inline';"/><img id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_166_236_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_166_236_Closed_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_166_236_Open_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_166_236_Open_Text').style.display='inline';"/> </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_166_236_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Sub New()</span><span id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_166_236_Open_Text"><span style="color: #0000FF;">Sub</span><span style="color: #000000;"> </span><span style="color: #0000FF;">New</span><span style="color: #000000;">(</span><span style="color: #0000FF;">ByVal</span><span style="color: #000000;"> </span><span style="color: #0000FF;">str</span><span style="color: #000000;"> </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">String</span><span style="color: #000000;">) </span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> _string </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">str</span><span style="color: #000000;"> </span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> </span><span style="color: #0000FF;">End Sub</span></span><span style="color: #000000;"> </span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #008080;">11</span><span style="color: #000000;"><img id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_273_350_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_273_350_Open_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_273_350_Closed_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_273_350_Closed_Text').style.display='inline';"/><img id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_273_350_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_273_350_Closed_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_273_350_Open_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_273_350_Open_Text').style.display='inline';"/> </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Overloads</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Overrides</span><span style="color: #000000;"> </span><span id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_273_350_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Function ToString()</span><span id=".ComparingVB.ZipsMyString.Vb_MyString.Vb_518_43_273_350_Open_Text"><span style="color: #0000FF;">Function</span><span style="color: #000000;"> ToString() </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">String</span><span style="color: #000000;"> </span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> _string </span><span style="color: #008080;">13</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> </span><span style="color: #0000FF;">End Function</span></span><span style="color: #000000;"> </span><span style="color: #008080;">14</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> </span><span style="color: #0000FF;">End Class</span></span><span style="color: #000000;"> </span><span style="color: #008080;">15</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/></span><span style="color: #0000FF;">End Namespace</span></span></div></pre></div></div> </span> <p>MyString class will be used for an attribute in the following class:</p> <span name="cs_wiki_filter" csw_filters="cs"> <div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">Record.cs</span></div><div class="fscCode"><pre ID=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #008080;">01</span><img id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_0_60_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_0_60_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_0_60_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_0_60_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_0_60_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_0_60_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_0_60_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_0_60_Open_Text').style.display='inline';"/><span id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_0_60_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">/**/</span><span id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_0_60_Open_Text"><span style="color: #008000;">/*</span><span style="color: #008000;"> Copyright (C) 2007 db4objects Inc. </span><span style="color: #008000; text-decoration: underline;">http://www.db4o.com</span><span style="color: #008000;"> </span><span style="color: #008000;">*/</span></span><span style="color: #000000;"> </span><span style="color: #008080;">02</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/></span><span style="color: #0000FF;">namespace</span><span style="color: #000000;"> Db4objects.Db4odoc.Comparing </span><span style="color: #008080;">03</span><span style="color: #000000;"><img id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_100_371_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_100_371_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_100_371_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_100_371_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_100_371_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_100_371_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_100_371_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_100_371_Open_Text').style.display='inline';"/></span><span id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_100_371_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_100_371_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">04</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">class</span><span style="color: #000000;"> Record </span><span style="color: #008080;">05</span><span style="color: #000000;"><img id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_123_369_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_123_369_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_123_369_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_123_369_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_123_369_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_123_369_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_123_369_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_123_369_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_123_369_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_123_369_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">06</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">private</span><span style="color: #000000;"> MyString _record; </span><span style="color: #008080;">07</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> Record(</span><span style="color: #0000FF;">string</span><span style="color: #000000;"> record) </span><span style="color: #008080;">10</span><span style="color: #000000;"><img id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_206_261_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_206_261_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_206_261_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_206_261_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_206_261_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_206_261_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_206_261_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_206_261_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_206_261_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_206_261_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> _record </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> MyString(record); </span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> }</span></span><span style="color: #000000;"> </span><span style="color: #008080;">13</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #008080;">14</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">override</span><span style="color: #000000;"> </span><span style="color: #0000FF;">string</span><span style="color: #000000;"> ToString() </span><span style="color: #008080;">15</span><span style="color: #000000;"><img id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_313_363_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_313_363_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_313_363_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_313_363_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_313_363_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_313_363_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_313_363_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_313_363_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_313_363_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsRecord.Cs_Record.Cs_709_41_313_363_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">16</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> _record.ToString(); </span><span style="color: #008080;">17</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> }</span></span><span style="color: #000000;"> </span><span style="color: #008080;">18</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> }</span></span><span style="color: #000000;"> </span><span style="color: #008080;">19</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/>}</span></span></div></pre></div></div> </span> <span name="cs_wiki_filter" csw_filters="vb"> <div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">Record.vb</span></div><div class="fscCode"><pre ID=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #008080;">01</span><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/><span style="color: #008000;">'</span><span style="color: #008000;"> Copyright (C) 2007 db4objects Inc. http://www.db4o.com</span><span style="color: #008000;"> </span><span style="color: #008080;">02</span><span style="color: #008000;"><img id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_57_407_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_57_407_Open_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_57_407_Closed_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_57_407_Closed_Text').style.display='inline';"/><img id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_57_407_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_57_407_Closed_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_57_407_Open_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_57_407_Open_Text').style.display='inline';"/></span><span id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_57_407_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Namespace Db4objects</span><span id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_57_407_Open_Text"><span style="color: #0000FF;">Namespace</span><span style="color: #000000;"> Db4objects.Db4odoc.Comparing </span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #008080;">04</span><span style="color: #000000;"><img id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_101_393_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_101_393_Open_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_101_393_Closed_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_101_393_Closed_Text').style.display='inline';"/><img id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_101_393_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_101_393_Closed_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_101_393_Open_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_101_393_Open_Text').style.display='inline';"/> </span><span id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_101_393_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Class Record</span><span id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_101_393_Open_Text"><span style="color: #0000FF;">Class</span><span style="color: #000000;"> Record </span><span style="color: #008080;">05</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Private</span><span style="color: #000000;"> _record </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> MyString </span><span style="color: #008080;">06</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #008080;">07</span><span style="color: #000000;"><img id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_166_256_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_166_256_Open_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_166_256_Closed_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_166_256_Closed_Text').style.display='inline';"/><img id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_166_256_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_166_256_Closed_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_166_256_Open_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_166_256_Open_Text').style.display='inline';"/> </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_166_256_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Sub New()</span><span id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_166_256_Open_Text"><span style="color: #0000FF;">Sub</span><span style="color: #000000;"> </span><span style="color: #0000FF;">New</span><span style="color: #000000;">(</span><span style="color: #0000FF;">ByVal</span><span style="color: #000000;"> record </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">String</span><span style="color: #000000;">) </span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> _record </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">New</span><span style="color: #000000;"> MyString(record) </span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> </span><span style="color: #0000FF;">End Sub</span></span><span style="color: #000000;"> </span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #008080;">11</span><span style="color: #000000;"><img id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_293_379_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_293_379_Open_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_293_379_Closed_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_293_379_Closed_Text').style.display='inline';"/><img id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_293_379_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_293_379_Closed_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_293_379_Open_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_293_379_Open_Text').style.display='inline';"/> </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Overloads</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Overrides</span><span style="color: #000000;"> </span><span id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_293_379_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Function ToString()</span><span id=".ComparingVB.ZipsRecord.Vb_Record.Vb_814_41_293_379_Open_Text"><span style="color: #0000FF;">Function</span><span style="color: #000000;"> ToString() </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">String</span><span style="color: #000000;"> </span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> _record.ToString </span><span style="color: #008080;">13</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> </span><span style="color: #0000FF;">End Function</span></span><span style="color: #000000;"> </span><span style="color: #008080;">14</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> </span><span style="color: #0000FF;">End Class</span></span><span style="color: #000000;"> </span><span style="color: #008080;">15</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/></span><span style="color: #0000FF;">End Namespace</span></span></div></pre></div></div> </span> <p>Let's save some Record objects to the database:</p> <span name="cs_wiki_filter" csw_filters="cs"> <div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">CompareExample.cs: <span class="fscMemberName">StoreRecords</span></span></div><div class="fscCode"><pre ID=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #008080;">01</span><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/><span style="color: #0000FF;">private</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> StoreRecords(IConfiguration configuration) </span><span style="color: #008080;">02</span><span style="color: #000000;"><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_71_666_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_71_666_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_71_666_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_71_666_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_71_666_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_71_666_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_71_666_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_71_666_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_71_666_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_71_666_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> File.Delete(FileName); </span><span style="color: #008080;">04</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> IObjectContainer container </span><span style="color: #000000;">=</span><span style="color: #000000;"> Db4oFactory.OpenFile(configuration, FileName); </span><span style="color: #008080;">05</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">try</span><span style="color: #000000;"> </span><span style="color: #008080;">06</span><span style="color: #000000;"><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_224_573_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_224_573_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_224_573_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_224_573_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_224_573_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_224_573_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_224_573_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_224_573_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_224_573_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_224_573_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">07</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> Record record </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> Record(</span><span style="color: #800000;">"</span><span style="color: #800000;">Michael Schumacher, points: 100</span><span style="color: #800000;">"</span><span style="color: #000000;">); </span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> container.Set(record); </span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> record </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> Record(</span><span style="color: #800000;">"</span><span style="color: #800000;">Rubens Barrichello, points: 98</span><span style="color: #800000;">"</span><span style="color: #000000;">); </span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> container.Set(record); </span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> record </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> Record(</span><span style="color: #800000;">"</span><span style="color: #800000;">Kimi Raikonnen, points: 55</span><span style="color: #800000;">"</span><span style="color: #000000;">); </span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> container.Set(record); </span><span style="color: #008080;">13</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> }</span></span><span style="color: #000000;"> </span><span style="color: #008080;">14</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">finally</span><span style="color: #000000;"> </span><span style="color: #008080;">15</span><span style="color: #000000;"><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_606_656_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_606_656_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_606_656_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_606_656_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_606_656_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_606_656_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_606_656_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_606_656_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_606_656_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_StoreRecords_981_62_606_656_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">16</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> container.Close(); </span><span style="color: #008080;">17</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> }</span></span><span style="color: #000000;"> </span><span style="color: #008080;">18</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/> }</span></span></div></pre></div></div> </span> <span name="cs_wiki_filter" csw_filters="vb"> <div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">CompareExample.vb: <span class="fscMemberName">StoreRecords</span></span></div><div class="fscCode"><pre ID=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_StoreRecords_1107_62"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #008080;">01</span><img id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_StoreRecords_1107_62_14_638_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_StoreRecords_1107_62_14_638_Open_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_StoreRecords_1107_62_14_638_Closed_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_StoreRecords_1107_62_14_638_Closed_Text').style.display='inline';"/><img id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_StoreRecords_1107_62_14_638_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_StoreRecords_1107_62_14_638_Closed_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_StoreRecords_1107_62_14_638_Open_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_StoreRecords_1107_62_14_638_Open_Text').style.display='inline';"/><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Shared</span><span style="color: #000000;"> </span><span id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_StoreRecords_1107_62_14_638_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Sub StoreRecords()</span><span id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_StoreRecords_1107_62_14_638_Open_Text"><span style="color: #0000FF;">Sub</span><span style="color: #000000;"> StoreRecords(</span><span style="color: #0000FF;">ByVal</span><span style="color: #000000;"> configuration </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IConfiguration) </span><span style="color: #008080;">02</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> File.Delete(FileName) </span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Dim</span><span style="color: #000000;"> container </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IObjectContainer </span><span style="color: #000000;">=</span><span style="color: #000000;"> Db4oFactory.OpenFile(configuration, FileName) </span><span style="color: #008080;">04</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Try</span><span style="color: #000000;"> </span><span style="color: #008080;">05</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Dim</span><span style="color: #000000;"> record </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> Record </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">New</span><span style="color: #000000;"> Record(</span><span style="color: #800000;">"</span><span style="color: #800000;">Michael Schumacher, points: 100</span><span style="color: #800000;">"</span><span style="color: #000000;">) </span><span style="color: #008080;">06</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> container.Set(record) </span><span style="color: #008080;">07</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> record </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">New</span><span style="color: #000000;"> Record(</span><span style="color: #800000;">"</span><span style="color: #800000;">Rubens Barrichello, points: 98</span><span style="color: #800000;">"</span><span style="color: #000000;">) </span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> container.Set(record) </span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> record </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">New</span><span style="color: #000000;"> Record(</span><span style="color: #800000;">"</span><span style="color: #800000;">Kimi Raikonnen, points: 55</span><span style="color: #800000;">"</span><span style="color: #000000;">) </span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> container.Set(record) </span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Finally</span><span style="color: #000000;"> </span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> container.Close() </span><span style="color: #008080;">13</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">End</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Try</span><span style="color: #000000;"> </span><span style="color: #008080;">14</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/> </span><span style="color: #0000FF;">End Sub</span></span></div></pre></div></div> </span> <p>Selecting the query results, we need to compare string values contained in MyString objects. This can be configured with the following setting:</p> <span name="cs_wiki_filter" csw_filters="cs"> <div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">CompareExample.cs: <span class="fscMemberName">Configure</span></span></div><div class="fscCode"><pre ID=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_Configure_1393_59"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #008080;">1</span><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/><span style="color: #0000FF;">private</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> IConfiguration Configure() </span><span style="color: #008080;">2</span><span style="color: #000000;"><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_Configure_1393_59_50_260_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_Configure_1393_59_50_260_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_Configure_1393_59_50_260_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_Configure_1393_59_50_260_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_Configure_1393_59_50_260_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_Configure_1393_59_50_260_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_Configure_1393_59_50_260_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_Configure_1393_59_50_260_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_Configure_1393_59_50_260_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_Configure_1393_59_50_260_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">3</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> IConfiguration configuration </span><span style="color: #000000;">=</span><span style="color: #000000;"> Db4oFactory.NewConfiguration(); </span><span style="color: #008080;">4</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> configuration.ObjectClass(</span><span style="color: #0000FF;">typeof</span><span style="color: #000000;">(MyString)).Compare(</span><span style="color: #0000FF;">new</span><span style="color: #000000;"> MyStringAttribute()); </span><span style="color: #008080;">5</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> configuration; </span><span style="color: #008080;">6</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/> }</span></span></div></pre></div></div><div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">CompareExample.cs: <span class="fscMemberName">MyStringAttribute</span></span></div><div class="fscCode"><pre ID=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #008080;">01</span><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/><span style="color: #0000FF;">private</span><span style="color: #000000;"> </span><span style="color: #0000FF;">class</span><span style="color: #000000;"> MyStringAttribute : IObjectAttribute </span><span style="color: #008080;">02</span><span style="color: #000000;"><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_59_322_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_59_322_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_59_322_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_59_322_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_59_322_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_59_322_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_59_322_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_59_322_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_59_322_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_59_322_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">object</span><span style="color: #000000;"> Attribute(</span><span style="color: #0000FF;">object</span><span style="color: #000000;"> original) </span><span style="color: #008080;">04</span><span style="color: #000000;"><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_126_312_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_126_312_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_126_312_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_126_312_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_126_312_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_126_312_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_126_312_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_126_312_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_126_312_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_126_312_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">05</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">if</span><span style="color: #000000;"> (original </span><span style="color: #0000FF;">is</span><span style="color: #000000;"> MyString) </span><span style="color: #008080;">06</span><span style="color: #000000;"><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_186_265_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_186_265_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_186_265_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_186_265_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_186_265_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_186_265_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_186_265_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_186_265_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_186_265_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_MyStringAttribute_1452_63_186_265_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">07</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> ((MyString)original).ToString(); </span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> }</span></span><span style="color: #000000;"> </span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">return</span><span style="color: #000000;"> original; </span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> }</span></span><span style="color: #000000;"> </span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/> }</span></span></div></pre></div></div> <br></p> </span> <span name="cs_wiki_filter" csw_filters="vb"> <div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">CompareExample.vb: <span class="fscMemberName">Configure</span></span></div><div class="fscCode"><pre ID=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_Configure_1588_59"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #008080;">1</span><img id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_Configure_1588_59_14_275_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_Configure_1588_59_14_275_Open_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_Configure_1588_59_14_275_Closed_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_Configure_1588_59_14_275_Closed_Text').style.display='inline';"/><img id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_Configure_1588_59_14_275_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_Configure_1588_59_14_275_Closed_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_Configure_1588_59_14_275_Open_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_Configure_1588_59_14_275_Open_Text').style.display='inline';"/><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Shared</span><span style="color: #000000;"> </span><span id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_Configure_1588_59_14_275_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Function Configure()</span><span id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_Configure_1588_59_14_275_Open_Text"><span style="color: #0000FF;">Function</span><span style="color: #000000;"> Configure() </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IConfiguration </span><span style="color: #008080;">2</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Dim</span><span style="color: #000000;"> configuration </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IConfiguration </span><span style="color: #000000;">=</span><span style="color: #000000;"> Db4oFactory.NewConfiguration() </span><span style="color: #008080;">3</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> configuration.ObjectClass(</span><span style="color: #0000FF;">GetType</span><span style="color: #000000;">(MyString)).Compare(</span><span style="color: #0000FF;">New</span><span style="color: #000000;"> MyStringAttribute) </span><span style="color: #008080;">4</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> configuration </span><span style="color: #008080;">5</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/> </span><span style="color: #0000FF;">End Function</span></span></div></pre></div></div><div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">CompareExample.vb: <span class="fscMemberName">MyStringAttribute</span></span></div><div class="fscCode"><pre ID=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #008080;">01</span><img id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_8_396_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_8_396_Open_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_8_396_Closed_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_8_396_Closed_Text').style.display='inline';"/><img id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_8_396_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_8_396_Closed_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_8_396_Open_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_8_396_Open_Text').style.display='inline';"/><span style="color: #0000FF;">Private</span><span style="color: #000000;"> </span><span id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_8_396_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Class MyStringAttribute</span><span id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_8_396_Open_Text"><span style="color: #0000FF;">Class</span><span style="color: #000000;"> MyStringAttribute </span><span style="color: #008080;">02</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Implements</span><span style="color: #000000;"> IObjectAttribute </span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #008080;">04</span><span style="color: #000000;"><img id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_92_378_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_92_378_Open_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_92_378_Closed_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_92_378_Closed_Text').style.display='inline';"/><img id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_92_378_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_92_378_Closed_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_92_378_Open_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_92_378_Open_Text').style.display='inline';"/> </span><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_92_378_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Function Attribute()</span><span id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_MyStringAttribute_1647_63_92_378_Open_Text"><span style="color: #0000FF;">Function</span><span style="color: #000000;"> Attribute(</span><span style="color: #0000FF;">ByVal</span><span style="color: #000000;"> original </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Object</span><span style="color: #000000;">) </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Object</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Implements</span><span style="color: #000000;"> IObjectAttribute.Attribute </span><span style="color: #008080;">05</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">If</span><span style="color: #000000;"> </span><span style="color: #0000FF;">TypeOf</span><span style="color: #000000;"> original </span><span style="color: #0000FF;">Is</span><span style="color: #000000;"> MyString </span><span style="color: #0000FF;">Then</span><span style="color: #000000;"> </span><span style="color: #008080;">06</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> </span><span style="color: #0000FF;">CType</span><span style="color: #000000;">(original, MyString).ToString </span><span style="color: #008080;">07</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">End</span><span style="color: #000000;"> </span><span style="color: #0000FF;">If</span><span style="color: #000000;"> </span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Return</span><span style="color: #000000;"> original </span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> </span><span style="color: #0000FF;">End Function</span></span><span style="color: #000000;"> </span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/> </span><span style="color: #0000FF;">End Class</span></span></div></pre></div></div> <br></p> </span><p>This piece of code registers an attribute provider for special query behavior. </p> <p>The query processor will compare the object returned by the attribute provider instead of the actual object, both for the constraint and the candidate persistent object.</p> <p>The querying code will look like this:</p> <span name="cs_wiki_filter" csw_filters="cs"> <div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">CompareExample.cs: <span class="fscMemberName">CheckRecords</span></span></div><div class="fscCode"><pre ID=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #008080;">01</span><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/None.gif" align="top"/><span style="color: #0000FF;">private</span><span style="color: #000000;"> </span><span style="color: #0000FF;">static</span><span style="color: #000000;"> </span><span style="color: #0000FF;">void</span><span style="color: #000000;"> CheckRecords(IConfiguration configuration) </span><span style="color: #008080;">02</span><span style="color: #000000;"><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_71_542_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_71_542_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_71_542_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_71_542_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_71_542_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_71_542_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_71_542_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_71_542_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_71_542_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_71_542_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> IObjectContainer container </span><span style="color: #000000;">=</span><span style="color: #000000;"> Db4oFactory.OpenFile(configuration, FileName); </span><span style="color: #008080;">04</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">try</span><span style="color: #000000;"> </span><span style="color: #008080;">05</span><span style="color: #000000;"><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_189_449_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_189_449_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_189_449_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_189_449_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_189_449_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_189_449_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_189_449_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_189_449_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_189_449_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_189_449_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">06</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> IQuery q </span><span style="color: #000000;">=</span><span style="color: #000000;"> container.Query(); </span><span style="color: #008080;">07</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> q.Constrain(</span><span style="color: #0000FF;">new</span><span style="color: #000000;"> Record(</span><span style="color: #800000;">"</span><span style="color: #800000;">Rubens</span><span style="color: #800000;">"</span><span style="color: #000000;">)); </span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> q.Descend(</span><span style="color: #800000;">"</span><span style="color: #800000;">_record</span><span style="color: #800000;">"</span><span style="color: #000000;">).Constraints().Contains(); </span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> IObjectSet result </span><span style="color: #000000;">=</span><span style="color: #000000;"> q.Execute(); </span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> ListResult(result); </span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> }</span></span><span style="color: #000000;"> </span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">finally</span><span style="color: #000000;"> </span><span style="color: #008080;">13</span><span style="color: #000000;"><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_482_532_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_482_532_Open_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_482_532_Closed_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_482_532_Closed_Text').style.display='inline';"/><img id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_482_532_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_482_532_Closed_Text').style.display='none'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_482_532_Open_Image').style.display='inline'; document.getElementById('.ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_482_532_Open_Text').style.display='inline';"/> </span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_482_532_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ComparingCS.ZipsCompareExample.Cs_CompareExample.Cs_CheckRecords_2111_62_482_532_Open_Text"><span style="color: #000000;">{ </span><span style="color: #008080;">14</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> container.Close(); </span><span style="color: #008080;">15</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"/> }</span></span><span style="color: #000000;"> </span><span style="color: #008080;">16</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/> }</span></span></div></pre></div></div> </span> <span name="cs_wiki_filter" csw_filters="vb"> <div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">CompareExample.vb: <span class="fscMemberName">CheckRecords</span></span></div><div class="fscCode"><pre ID=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_CheckRecords_2237_62"><div><!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --><span style="color: #008080;">01</span><img id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_CheckRecords_2237_62_14_517_Open_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_CheckRecords_2237_62_14_517_Open_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_CheckRecords_2237_62_14_517_Closed_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_CheckRecords_2237_62_14_517_Closed_Text').style.display='inline';"/><img id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_CheckRecords_2237_62_14_517_Closed_Image" src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_CheckRecords_2237_62_14_517_Closed_Text').style.display='none'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_CheckRecords_2237_62_14_517_Open_Image').style.display='inline'; document.getElementById('.ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_CheckRecords_2237_62_14_517_Open_Text').style.display='inline';"/><span style="color: #0000FF;">Public</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Shared</span><span style="color: #000000;"> </span><span id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_CheckRecords_2237_62_14_517_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Sub CheckRecords()</span><span id=".ComparingVB.ZipsCompareExample.Vb_CompareExample.Vb_CheckRecords_2237_62_14_517_Open_Text"><span style="color: #0000FF;">Sub</span><span style="color: #000000;"> CheckRecords(</span><span style="color: #0000FF;">ByVal</span><span style="color: #000000;"> configuration </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IConfiguration) </span><span style="color: #008080;">02</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Dim</span><span style="color: #000000;"> container </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IObjectContainer </span><span style="color: #000000;">=</span><span style="color: #000000;"> Db4oFactory.OpenFile(configuration, FileName) </span><span style="color: #008080;">03</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Try</span><span style="color: #000000;"> </span><span style="color: #008080;">04</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Dim</span><span style="color: #000000;"> q </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IQuery </span><span style="color: #000000;">=</span><span style="color: #000000;"> container.Query </span><span style="color: #008080;">05</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> q.Constrain(</span><span style="color: #0000FF;">New</span><span style="color: #000000;"> Record(</span><span style="color: #800000;">"</span><span style="color: #800000;">Rubens</span><span style="color: #800000;">"</span><span style="color: #000000;">)) </span><span style="color: #008080;">06</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> q.Descend(</span><span style="color: #800000;">"</span><span style="color: #800000;">_record</span><span style="color: #800000;">"</span><span style="color: #000000;">).Constraints.Contains() </span><span style="color: #008080;">07</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Dim</span><span style="color: #000000;"> result </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IObjectSet </span><span style="color: #000000;">=</span><span style="color: #000000;"> q.Execute </span><span style="color: #008080;">08</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> ListResult(result) </span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">Finally</span><span style="color: #000000;"> </span><span style="color: #008080;">10</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> container.Close() </span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/> </span><span style="color: #0000FF;">End</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Try</span><span style="color: #000000;"> </span><span style="color: #008080;">12</span><span style="color: #000000;"><img src="../../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockEnd.gif" align="top"/> </span><span style="color: #0000FF;">End Sub</span></span></div></pre></div></div> </span> <p>Using query comparator feature we can change the standard way of selecting query results. This can be helpful for:</p> <ul><li>querying user types using simple string or numeric representation</li><li>encapsulating additional logic into querying algorithm.</li></ul> </div> </div> <div id="footer"> This revision (4) was last Modified 2007-05-07T09:44:16 by Tetyana. </div> </body> </html>