Sophie

Sophie

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

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

<html>
  <head>
    <META http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Class Name Format In .NET</title>
    <link rel="stylesheet" type="text/css" href="../../style.css">
  </head>
  <body>
    <div class="CommonContent">
      <div class="CommonContentArea">
        <h1>Class Name Format In .NET</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><font color="#990000">This topic applies to .NET version only</font>&nbsp;</p>
<p>Db4o uses full class name to distinguish classes within the database file. In .NET full class name has the following format:</p>
<p><code>Namespace.ClassName, AssemblyName</code></p>
<p>Effectively that means that the same class definition within different assemblies (applications or libraries) will be recognized as two different classes by db4o. You should keep this in mind in the following cases:</p>
<ul>
<li>2 or more applications working with the same database file;</li>
<li>client/server application with the classes deployed on both the client and the server;</li>
<li><a href="../platform_specific_issues/asp.net.html" class="wikiLink">ASP.NET2</a> application with dynamic compilation</li></ul>
<p>Let's use an example to see what happens in these cases. We will create 2 applications Test1.exe and Test2.exe. Both will have a simplest class definition:</p>
<span name="cs_wiki_filter" csw_filters="cs">
<div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">Test.cs</span></div><div class="fscCode"><pre ID=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">01</span><img id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_0_67_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_0_67_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_0_67_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_0_67_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_0_67_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_0_67_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_0_67_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_0_67_Open_Text').style.display='inline';"/><span id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_0_67_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">/**/</span><span id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_0_67_Open_Text"><span style="color: #008000;">/*</span><span style="color: #008000;"> Copyright (C) 2004 - 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.ClassNameFormat
</span><span style="color: #008080;">03</span><span style="color: #000000;"><img id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_113_232_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_113_232_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_113_232_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_113_232_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_113_232_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_113_232_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_113_232_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_113_232_Open_Text').style.display='inline';"/></span><span id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_113_232_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_113_232_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;"> Test
</span><span style="color: #008080;">05</span><span style="color: #000000;"><img id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_134_230_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_134_230_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_134_230_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_134_230_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_134_230_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_134_230_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_134_230_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_134_230_Open_Text').style.display='inline';"/>    </span><span id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_134_230_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_134_230_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;">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;">07</span><span style="color: #000000;"><img id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_186_224_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_186_224_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_186_224_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_186_224_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_186_224_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_186_224_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_186_224_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_186_224_Open_Text').style.display='inline';"/>        </span><span id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_186_224_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ClassNameFormatCS.ZipsTest.Cs_Test.Cs_983_45_186_224_Open_Text"><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;"> </span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Test</span><span style="color: #800000;">&quot;</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><span style="color: #000000;">
</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>
</span>
<span name="cs_wiki_filter" csw_filters="vb">
<div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">Test.vb</span></div><div class="fscCode"><pre ID=".ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45"><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) 2004 - 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=".ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_64_265_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_64_265_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_64_265_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_64_265_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_64_265_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_64_265_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_64_265_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_64_265_Open_Text').style.display='inline';"/></span><span id=".ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_64_265_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Namespace Db4objects</span><span id=".ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_64_265_Open_Text"><span style="color: #0000FF;">Namespace</span><span style="color: #000000;"> Db4objects.Db4odoc.ClassNameFormat
</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=".ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_114_251_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_114_251_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_114_251_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_114_251_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_114_251_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_114_251_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_114_251_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_114_251_Open_Text').style.display='inline';"/>    </span><span id=".ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_114_251_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Class Test</span><span id=".ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_114_251_Open_Text"><span style="color: #0000FF;">Class</span><span style="color: #000000;"> Test
</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: #008080;">06</span><span style="color: #000000;"><img id=".ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_161_237_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_161_237_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_161_237_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_161_237_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_161_237_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_161_237_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_161_237_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_161_237_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=".ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_161_237_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Function ToString()</span><span id=".ClassNameFormatVB.ZipsTest.Vb_Test.Vb_1086_45_161_237_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;">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;"> </span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Test</span><span style="color: #800000;">&quot;</span><span style="color: #000000;">
</span><span style="color: #008080;">08</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;">09</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;">10</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>Test1 application will store one object of Test class to the database:</p>
<span name="cs_wiki_filter" csw_filters="cs">
<div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">ClassNameExample1.cs: <span class="fscMemberName">StoreObjects</span></span></div><div class="fscCode"><pre ID=".ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71"><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;"> StoreObjects()
</span><span style="color: #008080;">02</span><span style="color: #000000;"><img id=".ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_43_431_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_43_431_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_43_431_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_43_431_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_43_431_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_43_431_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_43_431_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_43_431_Open_Text').style.display='inline';"/>        </span><span id=".ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_43_431_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_43_431_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(Db4oFileName);
</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(Db4oFileName);
</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=".ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_189_337_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_189_337_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_189_337_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_189_337_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_189_337_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_189_337_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_189_337_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_189_337_Open_Text').style.display='inline';"/>            </span><span id=".ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_189_337_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_189_337_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: #008000;">//</span><span style="color: #008000;"> Store a simple class to the database</span><span style="color: #008000;">
</span><span style="color: #008080;">08</span><span style="color: #008000;"><img src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/></span><span style="color: #000000;">                Test test </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">new</span><span style="color: #000000;"> Test();
</span><span style="color: #008080;">09</span><span style="color: #000000;"><img src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                container.Set(test);
</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: #0000FF;">finally</span><span style="color: #000000;">
</span><span style="color: #008080;">12</span><span style="color: #000000;"><img id=".ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_370_421_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_370_421_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_370_421_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_370_421_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_370_421_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_370_421_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_370_421_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_370_421_Open_Text').style.display='inline';"/>            </span><span id=".ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_370_421_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ClassNameFormatCS.ZipsClassNameExample1.Cs_ClassNameExample1.Cs_StoreObjects_1268_71_370_421_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"/>                container.Commit();
</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/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">ClassNameExample1.vb: <span class="fscMemberName">StoreObjects</span></span></div><div class="fscCode"><pre ID=".ClassNameFormatVB.ZipsClassNameExample1.Vb_ClassNameExample1.Vb_StoreObjects_1397_71"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">01</span><img id=".ClassNameFormatVB.ZipsClassNameExample1.Vb_ClassNameExample1.Vb_StoreObjects_1397_71_15_396_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsClassNameExample1.Vb_ClassNameExample1.Vb_StoreObjects_1397_71_15_396_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsClassNameExample1.Vb_ClassNameExample1.Vb_StoreObjects_1397_71_15_396_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatVB.ZipsClassNameExample1.Vb_ClassNameExample1.Vb_StoreObjects_1397_71_15_396_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatVB.ZipsClassNameExample1.Vb_ClassNameExample1.Vb_StoreObjects_1397_71_15_396_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsClassNameExample1.Vb_ClassNameExample1.Vb_StoreObjects_1397_71_15_396_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsClassNameExample1.Vb_ClassNameExample1.Vb_StoreObjects_1397_71_15_396_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatVB.ZipsClassNameExample1.Vb_ClassNameExample1.Vb_StoreObjects_1397_71_15_396_Open_Text').style.display='inline';"/><span style="color: #0000FF;">Private</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Shared</span><span style="color: #000000;"> </span><span id=".ClassNameFormatVB.ZipsClassNameExample1.Vb_ClassNameExample1.Vb_StoreObjects_1397_71_15_396_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Sub StoreObjects()</span><span id=".ClassNameFormatVB.ZipsClassNameExample1.Vb_ClassNameExample1.Vb_StoreObjects_1397_71_15_396_Open_Text"><span style="color: #0000FF;">Sub</span><span style="color: #000000;"> StoreObjects()
</span><span style="color: #008080;">02</span><span style="color: #000000;"><img src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>            File.Delete(Db4oFileName)
</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(Db4oFileName)
</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: #008000;">'</span><span style="color: #008000;"> Store a simple class to the database</span><span style="color: #008000;">
</span><span style="color: #008080;">06</span><span style="color: #008000;"><img src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/></span><span style="color: #000000;">                </span><span style="color: #0000FF;">Dim</span><span style="color: #000000;"> test </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> Test </span><span style="color: #000000;">=</span><span style="color: #000000;"> </span><span style="color: #0000FF;">New</span><span style="color: #000000;"> Test
</span><span style="color: #008080;">07</span><span style="color: #000000;"><img src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                container.Set(test)
</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;">Finally</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"/>                container.Commit()
</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: #0000FF;">End</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Try</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 style="color: #0000FF;">End Sub</span></span></div></pre></div></div>
</span>
<p>Another application (Test2) will try to read this object from the same database file. To check how&nbsp; the Test object was actually stored in the database we will use StoredClass API:</p>
<span name="cs_wiki_filter" csw_filters="cs">
<div class="FormattedSourceCode"><div class="fscHeader"><span class="fscFileName">ClassNameExample2.cs: <span class="fscMemberName">CheckDatabase</span></span></div><div class="fscCode"><pre ID=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72"><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;">public</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;"> CheckDatabase()
</span><span style="color: #008080;">02</span><span style="color: #000000;"><img id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_43_768_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_43_768_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_43_768_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_43_768_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_43_768_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_43_768_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_43_768_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_43_768_Open_Text').style.display='inline';"/>        </span><span id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_43_768_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_43_768_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(Db4oFileName);
</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=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_150_674_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_150_674_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_150_674_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_150_674_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_150_674_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_150_674_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_150_674_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_150_674_Open_Text').style.display='inline';"/>            </span><span id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_150_674_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_150_674_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: #008000;">//</span><span style="color: #008000;"> Read db4o contents from another application</span><span style="color: #008000;">
</span><span style="color: #008080;">07</span><span style="color: #008000;"><img src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/></span><span style="color: #000000;">                IObjectSet result </span><span style="color: #000000;">=</span><span style="color: #000000;"> container.Get(</span><span style="color: #0000FF;">typeof</span><span style="color: #000000;">(Test));
</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: #008000;">//</span><span style="color: #008000;"> Check what classes are actualy stored in the database</span><span style="color: #008000;">
</span><span style="color: #008080;">10</span><span style="color: #008000;"><img src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/></span><span style="color: #000000;">                IStoredClass[] storedClasses </span><span style="color: #000000;">=</span><span style="color: #000000;"> container.Ext().StoredClasses();
</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;">foreach</span><span style="color: #000000;"> (IStoredClass storedClass </span><span style="color: #0000FF;">in</span><span style="color: #000000;"> storedClasses)
</span><span style="color: #008080;">12</span><span style="color: #000000;"><img id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_553_660_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_553_660_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_553_660_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_553_660_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_553_660_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_553_660_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_553_660_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_553_660_Open_Text').style.display='inline';"/>                </span><span id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_553_660_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_553_660_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"/>                    System.Console.WriteLine(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Stored class: </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> storedClass.GetName());
</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/InBlock.gif" align="top"/>            </span><span style="color: #0000FF;">finally</span><span style="color: #000000;">
</span><span style="color: #008080;">17</span><span style="color: #000000;"><img id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_707_758_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_707_758_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_707_758_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_707_758_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_707_758_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedSubBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_707_758_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_707_758_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_707_758_Open_Text').style.display='inline';"/>            </span><span id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_707_758_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">...</span><span id=".ClassNameFormatCS.ZipsClassNameExample2.Cs_ClassNameExample2.Cs_CheckDatabase_1720_72_707_758_Open_Text"><span style="color: #000000;">{
</span><span style="color: #008080;">18</span><span style="color: #000000;"><img src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                container.Commit();
</span><span style="color: #008080;">19</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;">20</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">ClassNameExample2.vb: <span class="fscMemberName">CheckDatabase</span></span></div><div class="fscCode"><pre ID=".ClassNameFormatVB.ZipsClassNameExample2.Vb_ClassNameExample2.Vb_CheckDatabase_1850_72"><div><!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--><span style="color: #008080;">01</span><img id=".ClassNameFormatVB.ZipsClassNameExample2.Vb_ClassNameExample2.Vb_CheckDatabase_1850_72_15_755_Open_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ExpandedBlockStart.gif" align="top" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsClassNameExample2.Vb_ClassNameExample2.Vb_CheckDatabase_1850_72_15_755_Open_Text').style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsClassNameExample2.Vb_ClassNameExample2.Vb_CheckDatabase_1850_72_15_755_Closed_Image').style.display='inline'; document.getElementById('.ClassNameFormatVB.ZipsClassNameExample2.Vb_ClassNameExample2.Vb_CheckDatabase_1850_72_15_755_Closed_Text').style.display='inline';"/><img id=".ClassNameFormatVB.ZipsClassNameExample2.Vb_ClassNameExample2.Vb_CheckDatabase_1850_72_15_755_Closed_Image" src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/ContractedBlock.gif" align="top" style="display: none;" onClick="this.style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsClassNameExample2.Vb_ClassNameExample2.Vb_CheckDatabase_1850_72_15_755_Closed_Text').style.display='none'; document.getElementById('.ClassNameFormatVB.ZipsClassNameExample2.Vb_ClassNameExample2.Vb_CheckDatabase_1850_72_15_755_Open_Image').style.display='inline'; document.getElementById('.ClassNameFormatVB.ZipsClassNameExample2.Vb_ClassNameExample2.Vb_CheckDatabase_1850_72_15_755_Open_Text').style.display='inline';"/><span style="color: #0000FF;">Private</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Shared</span><span style="color: #000000;"> </span><span id=".ClassNameFormatVB.ZipsClassNameExample2.Vb_ClassNameExample2.Vb_CheckDatabase_1850_72_15_755_Closed_Text" style="border: solid 1px #808080; background-color: #FFFFFF; display: none;">Sub CheckDatabase()</span><span id=".ClassNameFormatVB.ZipsClassNameExample2.Vb_ClassNameExample2.Vb_CheckDatabase_1850_72_15_755_Open_Text"><span style="color: #0000FF;">Sub</span><span style="color: #000000;"> CheckDatabase()
</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(Db4oFileName)
</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: #008000;">'</span><span style="color: #008000;"> Read db4o contents from another application</span><span style="color: #008000;">
</span><span style="color: #008080;">05</span><span style="color: #008000;"><img src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/></span><span style="color: #000000;">                </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;"> container.Get(</span><span style="color: #0000FF;">GetType</span><span style="color: #000000;">(Test))
</span><span style="color: #008080;">06</span><span style="color: #000000;"><img src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                ListResult(result)
</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: #008000;">'</span><span style="color: #008000;"> Check what classes are actualy stored in the database</span><span style="color: #008000;">
</span><span style="color: #008080;">08</span><span style="color: #008000;"><img src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/></span><span style="color: #000000;">                </span><span style="color: #0000FF;">Dim</span><span style="color: #000000;"> storedClasses </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IStoredClass() </span><span style="color: #000000;">=</span><span style="color: #000000;"> container.Ext.StoredClasses
</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;">Dim</span><span style="color: #000000;"> storedClass </span><span style="color: #0000FF;">As</span><span style="color: #000000;"> IStoredClass
</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: #0000FF;">For</span><span style="color: #000000;"> </span><span style="color: #0000FF;">Each</span><span style="color: #000000;"> storedClass </span><span style="color: #0000FF;">In</span><span style="color: #000000;"> storedClasses
</span><span style="color: #008080;">11</span><span style="color: #000000;"><img src="../../Utility/ActiPro.CodeHighligher/OutliningIndicators/InBlock.gif" align="top"/>                    System.Console.WriteLine(</span><span style="color: #800000;">&quot;</span><span style="color: #800000;">Stored class: </span><span style="color: #800000;">&quot;</span><span style="color: #000000;"> </span><span style="color: #000000;">+</span><span style="color: #000000;"> storedClass.GetName)
</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;">Next</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: #0000FF;">Finally</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"/>                container.Commit()
</span><span style="color: #008080;">15</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;">16</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>From the example we can see that though the class has been stored to the database, it cannot be retrieved from the Test2 application, as the assembly name is different from the original.</p>
<p>In order to make your classes readable from another assembly you should use one of the existing workarounds:</p>
<ul>
<li>keep your persistent classes in a separate class library, which should be available for your application assemblies (for the example above compile the Test class into Persistent.dll);</li>
<li>use db4o <a href="../implementation_strategies/aliases.html" class="wikiLink">Aliases</a>.</li></ul></div>
    </div>
    <div id="footer">
					This revision (16) was last Modified 2007-05-07T07:37:38 by Tetyana.
				</div>
  </body>
</html>