<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>livedomain Wiki Rss Feed</title><link>http://livedomain.codeplex.com/</link><description>livedomain Wiki Rss Description</description><item><title>New Comment on "Model Proxy"</title><link>http://livedomain.codeplex.com/wikipage?title=Model Proxy&amp;ANCHOR#C25708</link><description>&amp;#64;Roger, yes, you are correct and this is the required behavior here. We want to intercept and log all incoming method calls. Whatever other internal calls which are triggered will be triggered again when the commands are replayed during system restore.</description><author>rofr</author><pubDate>Mon, 26 Nov 2012 20:41:32 GMT</pubDate><guid isPermaLink="false">New Comment on "Model Proxy" 20121126084132P</guid></item><item><title>New Comment on "Model Proxy"</title><link>http://livedomain.codeplex.com/wikipage?title=Model Proxy&amp;ANCHOR#C25380</link><description>As far as I know, real proxy &amp;#47; transparent proxy et al does not support &amp;#34;self interception&amp;#34; , e.g. if one of your commands calls another command, the last invocation will not be intercepted..  is this the case here too&amp;#63;</description><author>RogerAlsing</author><pubDate>Thu, 25 Oct 2012 11:06:27 GMT</pubDate><guid isPermaLink="false">New Comment on "Model Proxy" 20121025110627A</guid></item><item><title>Updated Wiki: Contributing</title><link>http://livedomain.codeplex.com/wikipage?title=Contributing&amp;version=6</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Contributing to LiveDB&lt;/h1&gt;So you&amp;#39;re interested in developing for #liveDB? Excellent! There are many areas where we could use some help:&lt;br /&gt;
&lt;h2&gt;Core development tasks&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Custom serializers&lt;/li&gt;
&lt;li&gt;Custom storage modules&lt;/li&gt;
&lt;li&gt;Instrumentation hooks&lt;/li&gt;
&lt;li&gt;Custom synchronizers&lt;/li&gt;
&lt;li&gt;Logging adapters&lt;/li&gt;
&lt;li&gt;Null storage module&lt;/li&gt;
&lt;li&gt;Encryption&lt;/li&gt;
&lt;li&gt;Compression&lt;/li&gt;
&lt;li&gt;Configuration framework&lt;/li&gt;
&lt;li&gt;Adding features to transparent proxying&lt;/li&gt;
&lt;li&gt;Store utility functions&lt;/li&gt;
&lt;li&gt;Visualization&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Other stuff&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Performance testing/benchmarks&lt;/li&gt;
&lt;li&gt;Add more tests&lt;/li&gt;
&lt;li&gt;General refactoring&lt;/li&gt;
&lt;li&gt;Add continous integration and delivery&lt;/li&gt;
&lt;li&gt;Documentation :)&lt;/li&gt;
&lt;li&gt;Writing examples and blogging&lt;/li&gt;
&lt;li&gt;Running examples on mono&lt;/li&gt;
&lt;li&gt;Creating reusable models&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;How we work&lt;/h2&gt;We don&amp;#39;t have a backlog or roadmap. We decide on a feature based on demand or inspiration and then just go for it! Here&amp;#39;s the process for developing a feature:
&lt;ol&gt;&lt;li&gt;Rough overall design of the feature using a notebook, napkin, envelope or whiteboard. &lt;/li&gt;
&lt;li&gt;Implement the feature on a dedicated vcs branch&lt;/li&gt;
&lt;li&gt;Review and refine the design, goto 2&lt;/li&gt;
&lt;li&gt;Merge it into the dev branch&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;&lt;a href="http://nvie.com/posts/a-successful-git-branching-model/"&gt;Read more about the successful branching model we use&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;
&lt;h2&gt;Skills required&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Solid OO design skills&lt;/li&gt;
&lt;li&gt;MS Test&lt;/li&gt;
&lt;li&gt;Visual Studio and Nuget&lt;/li&gt;
&lt;li&gt;DVCS with GIT&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Setup and workflow&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Sign up for a codeplex account&lt;/li&gt;
&lt;li&gt;Create a fork&lt;/li&gt;
&lt;li&gt;Clone to your workstation&lt;/li&gt;
&lt;li&gt;Create a feature (or hotfix) branch to work on&lt;/li&gt;
&lt;li&gt;Do your stuff&lt;/li&gt;
&lt;li&gt;merge into dev branch (or master for hotfixes) and make sure all tests pass&lt;/li&gt;
&lt;li&gt;Create a pull request&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;&lt;a href="http://codeplex.codeplex.com/wikipage?title=Forks"&gt;Learn more about forks and pull requests with codeplex&lt;/a&gt;&lt;br /&gt;
&lt;h2&gt;Do your stuff!&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Keep your code changes small and focused. Small commits are preferred!&lt;/li&gt;
&lt;li&gt;Write tests!&lt;/li&gt;
&lt;li&gt;Write proper commit messages! Commit messages should be helpful to others.&lt;/li&gt;
&lt;li&gt;Do your work in the open. Share your ideas with the community as early as possible.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;System requirements&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Visual Studio 2010&lt;/li&gt;
&lt;li&gt;Visual Studio built in tests&lt;/li&gt;
&lt;li&gt;Nuget Package manager with package restore enabled&lt;/li&gt;
&lt;li&gt;Git client&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Thu, 25 Oct 2012 09:55:54 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Contributing 20121025095554A</guid></item><item><title>Updated Wiki: Contributing</title><link>http://livedomain.codeplex.com/wikipage?title=Contributing&amp;version=5</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Contributing to LiveDB&lt;/h1&gt;So you&amp;#39;re interested in developing for #liveDB? Excellent! There are many areas where we could use some help:&lt;br /&gt;
&lt;h2&gt;Core development tasks&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Custom serializers&lt;/li&gt;
&lt;li&gt;Custom storage modules&lt;/li&gt;
&lt;li&gt;Instrumentation hooks&lt;/li&gt;
&lt;li&gt;Custom synchronizers&lt;/li&gt;
&lt;li&gt;Logging adapters&lt;/li&gt;
&lt;li&gt;Null storage module&lt;/li&gt;
&lt;li&gt;Encryption&lt;/li&gt;
&lt;li&gt;Compression&lt;/li&gt;
&lt;li&gt;Configuration framework&lt;/li&gt;
&lt;li&gt;Adding features to transparent proxying&lt;/li&gt;
&lt;li&gt;Store utility functions&lt;/li&gt;
&lt;li&gt;Visualization&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Other stuff&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Performance testing/benchmarks&lt;/li&gt;
&lt;li&gt;Add more tests&lt;/li&gt;
&lt;li&gt;General refactoring&lt;/li&gt;
&lt;li&gt;Add continous integration and delivery&lt;/li&gt;
&lt;li&gt;Documentation :)&lt;/li&gt;
&lt;li&gt;Writing examples and blogging&lt;/li&gt;
&lt;li&gt;Running examples on mono&lt;/li&gt;
&lt;li&gt;Creating reusable models&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;How we work&lt;/h2&gt;We don&amp;#39;t have a backlog or roadmap. We decide on feature based on demand and then just go for it! Here&amp;#39;s the process for developing a feature:
&lt;ol&gt;&lt;li&gt;We do a rough overall design of the feature using a notebook, napkin, envelope or whiteboard.&lt;/li&gt;
&lt;li&gt;Implement the feature on a dedicated vcs branch&lt;/li&gt;
&lt;li&gt;Review and refine the design, goto 2&lt;/li&gt;
&lt;li&gt;Merge it into the dev branch&lt;/li&gt;&lt;/ol&gt;

&lt;h2&gt;Skills required&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Solid OO design skills&lt;/li&gt;
&lt;li&gt;MS Test&lt;/li&gt;
&lt;li&gt;Visual Studio and Nuget&lt;/li&gt;
&lt;li&gt;DVCS with GIT&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Setup and workflow&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Sign up for a codeplex account&lt;/li&gt;
&lt;li&gt;Create a fork&lt;/li&gt;
&lt;li&gt;Clone to your workstation&lt;/li&gt;
&lt;li&gt;Create a feature (or hotfix) branch to work on&lt;/li&gt;
&lt;li&gt;Do your stuff&lt;/li&gt;
&lt;li&gt;merge into dev branch (or master for hotfixes) and make sure all tests pass&lt;/li&gt;
&lt;li&gt;Create a pull request&lt;/li&gt;&lt;/ol&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://codeplex.codeplex.com/wikipage?title=Forks"&gt;Learn more about forks and pull requests with codeplex&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://nvie.com/posts/a-successful-git-branching-model/"&gt;Read more about the successful branching model we use&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Do your stuff!&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Keep your code changes small and focused. Small commits are preferred!&lt;/li&gt;
&lt;li&gt;Write tests!&lt;/li&gt;
&lt;li&gt;Write proper commit messages! Commit messages should be helpful to others.&lt;/li&gt;
&lt;li&gt;Do your work in the open. Share your ideas with the community as early as possible.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;System requirements&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Visual Studio 2010&lt;/li&gt;
&lt;li&gt;Visual Studio built in tests&lt;/li&gt;
&lt;li&gt;Nuget Package manager with package restore enabled&lt;/li&gt;
&lt;li&gt;Git client&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Thu, 25 Oct 2012 09:15:35 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Contributing 20121025091535A</guid></item><item><title>Updated Wiki: Contributing</title><link>http://livedomain.codeplex.com/wikipage?title=Contributing&amp;version=4</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Contributing to LiveDB&lt;/h1&gt;So you&amp;#39;re interested in developing for #liveDB? Excellent! There are many areas where we could use some help:&lt;br /&gt;
&lt;h2&gt;Core development tasks&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Custom serializers&lt;/li&gt;
&lt;li&gt;Custom storage modules&lt;/li&gt;
&lt;li&gt;Instrumentation hooks&lt;/li&gt;
&lt;li&gt;Custom synchronizers&lt;/li&gt;
&lt;li&gt;Logging adapters&lt;/li&gt;
&lt;li&gt;Null storage module&lt;/li&gt;
&lt;li&gt;Encryption&lt;/li&gt;
&lt;li&gt;Compression&lt;/li&gt;
&lt;li&gt;Configuration framework&lt;/li&gt;
&lt;li&gt;Adding features to transparent proxying&lt;/li&gt;
&lt;li&gt;Store utility functions&lt;/li&gt;
&lt;li&gt;Visualization&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Other stuff&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Performance testing/benchmarks&lt;/li&gt;
&lt;li&gt;Add more tests&lt;/li&gt;
&lt;li&gt;General refactoring&lt;/li&gt;
&lt;li&gt;Add continous integration and delivery&lt;/li&gt;
&lt;li&gt;Documentation :)&lt;/li&gt;
&lt;li&gt;Writing examples and blogging&lt;/li&gt;
&lt;li&gt;Running examples on mono&lt;/li&gt;
&lt;li&gt;Creating reusable models&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;How we work&lt;/h2&gt;We don&amp;#39;t have a backlog or roadmap. We decide on feature based on demand and then just go for it! Here&amp;#39;s the process for developing a feature:
&lt;ol&gt;&lt;li&gt;We do a rough overall design of the feature using a notebook, napkin, envelope or whiteboard.&lt;/li&gt;
&lt;li&gt;Implement the feature on a dedicated vcs branch&lt;/li&gt;
&lt;li&gt;Review and refine the design, goto 2&lt;/li&gt;
&lt;li&gt;Merge it into the dev branch&lt;/li&gt;&lt;/ol&gt;

&lt;h2&gt;Skills required&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Solid OO design skills&lt;/li&gt;
&lt;li&gt;MS Test&lt;/li&gt;
&lt;li&gt;Visual Studio and Nuget&lt;/li&gt;
&lt;li&gt;DVCS with GIT&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Setup and workflow&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Sign up for a codeplex account&lt;/li&gt;
&lt;li&gt;Create a fork&lt;/li&gt;
&lt;li&gt;Clone to your workstation&lt;/li&gt;
&lt;li&gt;Create a feature (or hotfix) branch to work on&lt;/li&gt;
&lt;li&gt;Do your stuff&lt;/li&gt;
&lt;li&gt;merge into dev branch (or master for hotfixes) and make sure all tests pass&lt;/li&gt;
&lt;li&gt;Create a pull request&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=http%3a%2f%2fbsq.se&amp;referringTitle=Contributing"&gt;fish&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://Learn more about forks and pull requests with codeplex"&gt;http://codeplex.codeplex.com/wikipage?title=Forks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://Read more about the branching model we use"&gt;http://nvie.com/posts/a-successful-git-branching-model/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Do your stuff!&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Keep your code changes small and focused. Small commits are preferred!&lt;/li&gt;
&lt;li&gt;Write tests!&lt;/li&gt;
&lt;li&gt;Write proper commit messages! Commit messages should be helpful to others.&lt;/li&gt;
&lt;li&gt;Do your work in the open. Share your ideas with the community as early as possible.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;System requirements&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Visual Studio 2010&lt;/li&gt;
&lt;li&gt;Visual Studio built in tests&lt;/li&gt;
&lt;li&gt;Nuget Package manager with package restore enabled&lt;/li&gt;
&lt;li&gt;Git client&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Thu, 25 Oct 2012 09:13:46 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Contributing 20121025091346A</guid></item><item><title>Updated Wiki: Contributing</title><link>http://livedomain.codeplex.com/wikipage?title=Contributing&amp;version=3</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Contributing to LiveDB&lt;/h1&gt;So you&amp;#39;re interested in developing for #liveDB? Excellent! There are many areas where we could use some help:&lt;br /&gt;
&lt;h2&gt;Core development tasks&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Custom serializers&lt;/li&gt;
&lt;li&gt;Custom storage modules&lt;/li&gt;
&lt;li&gt;Instrumentation hooks&lt;/li&gt;
&lt;li&gt;Custom synchronizers&lt;/li&gt;
&lt;li&gt;Logging adapters&lt;/li&gt;
&lt;li&gt;Null storage module&lt;/li&gt;
&lt;li&gt;Encryption&lt;/li&gt;
&lt;li&gt;Compression&lt;/li&gt;
&lt;li&gt;Configuration framework&lt;/li&gt;
&lt;li&gt;Adding features to transparent proxying&lt;/li&gt;
&lt;li&gt;Store utility functions&lt;/li&gt;
&lt;li&gt;Visualization&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Other stuff&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Performance testing/benchmarks&lt;/li&gt;
&lt;li&gt;Add more tests&lt;/li&gt;
&lt;li&gt;General refactoring&lt;/li&gt;
&lt;li&gt;Add continous integration and delivery&lt;/li&gt;
&lt;li&gt;Documentation :)&lt;/li&gt;
&lt;li&gt;Writing examples and blogging&lt;/li&gt;
&lt;li&gt;Running examples on mono&lt;/li&gt;
&lt;li&gt;Creating reusable models&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;How we work&lt;/h2&gt;We don&amp;#39;t have a backlog or roadmap. We decide on feature based on demand and then just go for it! Here&amp;#39;s the process for developing a feature:
&lt;ol&gt;&lt;li&gt;We do a rough overall design of the feature using a notebook, napkin, envelope or whiteboard.&lt;/li&gt;
&lt;li&gt;Implement the feature on a dedicated vcs branch&lt;/li&gt;
&lt;li&gt;Review and refine the design, goto 2&lt;/li&gt;
&lt;li&gt;Merge it into the dev branch&lt;/li&gt;&lt;/ol&gt;

&lt;h2&gt;Skills required&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Solid OO design skills&lt;/li&gt;
&lt;li&gt;MS Test&lt;/li&gt;
&lt;li&gt;Visual Studio and Nuget&lt;/li&gt;
&lt;li&gt;DVCS with GIT&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Setup and workflow&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Sign up for a codeplex account&lt;/li&gt;
&lt;li&gt;Create a fork&lt;/li&gt;
&lt;li&gt;Clone to your workstation&lt;/li&gt;
&lt;li&gt;Create a feature (or hotfix) branch to work on&lt;/li&gt;
&lt;li&gt;Do your stuff&lt;/li&gt;
&lt;li&gt;merge into dev branch (or master for hotfixes) and make sure all tests pass&lt;/li&gt;
&lt;li&gt;Create a pull request&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=url%3ahttp%3a%2f%2fbsq.se&amp;referringTitle=Contributing"&gt;fish&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://Learn more about forks and pull requests with codeplex"&gt;http://codeplex.codeplex.com/wikipage?title=Forks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://Read more about the branching model we use"&gt;http://nvie.com/posts/a-successful-git-branching-model/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Do your stuff!&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Keep your code changes small and focused. Small commits are preferred!&lt;/li&gt;
&lt;li&gt;Write tests!&lt;/li&gt;
&lt;li&gt;Write proper commit messages! Commit messages should be helpful to others.&lt;/li&gt;
&lt;li&gt;Do your work in the open. Share your ideas with the community as early as possible.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;System requirements&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Visual Studio 2010&lt;/li&gt;
&lt;li&gt;Visual Studio built in tests&lt;/li&gt;
&lt;li&gt;Nuget Package manager with package restore enabled&lt;/li&gt;
&lt;li&gt;Git client&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Thu, 25 Oct 2012 09:12:45 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Contributing 20121025091245A</guid></item><item><title>Updated Wiki: Contributing</title><link>http://livedomain.codeplex.com/wikipage?title=Contributing&amp;version=2</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Contributing to LiveDB&lt;/h1&gt;So you&amp;#39;re interested in developing for #liveDB? Excellent! There are many areas where we could use some help:&lt;br /&gt;
&lt;h2&gt;Core development tasks&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Custom serializers&lt;/li&gt;
&lt;li&gt;Custom storage modules&lt;/li&gt;
&lt;li&gt;Instrumentation hooks&lt;/li&gt;
&lt;li&gt;Custom synchronizers&lt;/li&gt;
&lt;li&gt;Logging adapters&lt;/li&gt;
&lt;li&gt;Null storage module&lt;/li&gt;
&lt;li&gt;Encryption&lt;/li&gt;
&lt;li&gt;Compression&lt;/li&gt;
&lt;li&gt;Configuration framework&lt;/li&gt;
&lt;li&gt;Adding features to transparent proxying&lt;/li&gt;
&lt;li&gt;Store utility functions&lt;/li&gt;
&lt;li&gt;Visualization&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Other stuff&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Performance testing/benchmarks&lt;/li&gt;
&lt;li&gt;Add more tests&lt;/li&gt;
&lt;li&gt;General refactoring&lt;/li&gt;
&lt;li&gt;Add continous integration and delivery&lt;/li&gt;
&lt;li&gt;Documentation :)&lt;/li&gt;
&lt;li&gt;Writing examples and blogging&lt;/li&gt;
&lt;li&gt;Running examples on mono&lt;/li&gt;
&lt;li&gt;Creating reusable models&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;How we work&lt;/h2&gt;We don&amp;#39;t have a backlog or roadmap. We decide on feature based on demand and then just go for it! Here&amp;#39;s the process for developing a feature:
&lt;ol&gt;&lt;li&gt;We do a rough overall design of the feature using a notebook, napkin, envelope or whiteboard.&lt;/li&gt;
&lt;li&gt;Implement the feature on a dedicated vcs branch&lt;/li&gt;
&lt;li&gt;Review and refine the design, goto 2&lt;/li&gt;
&lt;li&gt;Merge it into the dev branch&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;We are f&lt;br /&gt;http://nvie.com/posts/a-successful-git-branching-model/&lt;br /&gt;
&lt;h2&gt;Skills required&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Solid OO design skills&lt;/li&gt;
&lt;li&gt;MS Test&lt;/li&gt;
&lt;li&gt;Visual Studio and Nuget&lt;/li&gt;
&lt;li&gt;DVCS with GIT&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Setup and workflow&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Sign up for a codeplex account&lt;/li&gt;
&lt;li&gt;Create a fork&lt;/li&gt;
&lt;li&gt;Clone to your workstation&lt;/li&gt;
&lt;li&gt;Create a feature (or hotfix) branch to work on&lt;/li&gt;
&lt;li&gt;Do your stuff&lt;/li&gt;
&lt;li&gt;merge into dev branch (or master for hotfixes) and make sure all tests pass&lt;/li&gt;
&lt;li&gt;Create a pull request&lt;/li&gt;&lt;/ol&gt;

&lt;ul&gt;&lt;li&gt;&lt;a href="http://Learn more about forks and pull requests with codeplex"&gt;http://codeplex.codeplex.com/wikipage?title=Forks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://Read more about the branching model we use"&gt;http://nvie.com/posts/a-successful-git-branching-model/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Do your stuff!&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Keep your code changes small and focused. Small commits are preferred!&lt;/li&gt;
&lt;li&gt;Write tests!&lt;/li&gt;
&lt;li&gt;Write proper commit messages! Commit messages should be helpful to others.&lt;/li&gt;
&lt;li&gt;Do your work in the open. Share your ideas with the community as early as possible.&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;System requirements&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Visual Studio 2010&lt;/li&gt;
&lt;li&gt;Visual Studio built in tests&lt;/li&gt;
&lt;li&gt;Nuget Package manager with package restore enabled&lt;/li&gt;
&lt;li&gt;Git client&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Thu, 25 Oct 2012 09:10:47 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Contributing 20121025091047A</guid></item><item><title>Updated Wiki: Contributing</title><link>http://livedomain.codeplex.com/wikipage?title=Contributing&amp;version=1</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Contribute to LiveDB&lt;/h1&gt;
&lt;h2&gt;Setting up&lt;/h2&gt;&lt;ol&gt;&lt;li&gt;Fork the project&lt;/li&gt;&lt;/ol&gt;
Fork the project and add an upstream for &lt;br /&gt;You can find &lt;a href="http://more info about forking"&gt;https://help.github.com/articles/fork-a-repo&lt;/a&gt; on github&amp;#39;s help pages.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Thu, 25 Oct 2012 07:22:29 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Contributing 20121025072229A</guid></item><item><title>Updated Wiki: Home</title><link>http://livedomain.codeplex.com/wikipage?version=20</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;#liveDB - build faster systems faster&lt;/h1&gt;Accessing data from RAM is orders of magnitude faster than reading from disk. Also, data in RAM can be in a native format eliminating the need for object/relational mapping or other translation, significantly reducing developer time and cost.&lt;br /&gt;
&lt;h2&gt;Project Description&lt;/h2&gt;liveDB is an in-memory database engine for Microsoft .NET providing full ACID support, lightning fast performance and offering a significant reduction of development and operational costs. liveDB is built on Live Domain Technology, a custom implementation of the Prevalent System Architecture.&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Release%20Notes&amp;referringTitle=Home"&gt;Release Notes&lt;/a&gt; - 0.8.0-preview&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Contributing&amp;referringTitle=Home"&gt;Contributing&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/documentation?referringTitle=Home"&gt;Documentation&lt;/a&gt; (on this site)&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;
&lt;h2&gt;Other Links&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;Binary download available on nuget: &lt;a href="http://nuget.org/List/Packages/LiveDomain.Core"&gt;http://nuget.org/List/Packages/LiveDomain.Core&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Blog and more info on the &lt;a href="http://livedb.devrex.se"&gt;LiveDB home page&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Robert Friberg on twitter: &lt;a href="http://twitter.com/robertfriberg"&gt;http://twitter.com/robertfriberg&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Announcements on twitter: &lt;a href="http://twitter.com/livedomain"&gt;http://twitter.com/livedomain&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h2&gt;Real world systems running LiveDB&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://geekstream.devrex.se"&gt;Geekstream&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://frolundacamps.se"&gt;Fr&amp;#246;lunda Hockey Camps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://devrex.se"&gt;Devrex Web&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Wed, 24 Oct 2012 11:26:40 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20121024112640A</guid></item><item><title>Updated Wiki: Child Models</title><link>http://livedomain.codeplex.com/wikipage?title=Child Models&amp;version=7</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Child Models&lt;/h1&gt;&lt;i&gt;Note! This is a highly experimental feature and needs more testing!&lt;/i&gt;&lt;br /&gt;This is a feature which enables reuse of existing models by including them in your Model. Here&amp;#39;s a part of the Model class supporting this feature:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; Model
{
   &lt;span style="color:Green;"&gt;//keyed by model type&lt;/span&gt;
   &lt;span style="color:Blue;"&gt;private&lt;/span&gt; Dictionary&amp;lt;Type,Model&amp;gt; _childModels;

   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; T ChildFor&amp;lt;T&amp;gt;() &lt;span style="color:Blue;"&gt;where&lt;/span&gt; T : Model
   {
      &lt;span style="color:Green;"&gt;//return a model of type T, creating one if necessary&lt;/span&gt;
   }
}
&lt;/pre&gt;&lt;/div&gt;And here&amp;#39;s an example model (partial) which could be a good candidate for reuse:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
[Serializable]
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; UsersModel : Model
{
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; Register(&lt;span style="color:Blue;"&gt;string&lt;/span&gt; name, &lt;span style="color:Blue;"&gt;string&lt;/span&gt; passwordHash)
   {
      ...
   }
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; Authenticate(&lt;span style="color:Blue;"&gt;string&lt;/span&gt; user, &lt;span style="color:Blue;"&gt;string&lt;/span&gt; password)
   {
      ...
   }
}
&lt;/pre&gt;&lt;/div&gt;Including and accessing the UserModel using a transparent proxy:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;

&lt;span style="color:Green;"&gt;//get a proxy for the main model&lt;/span&gt;
&lt;span style="color:Blue;"&gt;var&lt;/span&gt; db = Db.For&amp;lt;MyModel&amp;gt;();

&lt;span style="color:Green;"&gt;//Get a child proxy and do stuff &lt;/span&gt;
UsersModel userDb = db.ChildFor&amp;lt;UsersModel&amp;gt;()
&lt;span style="color:Blue;"&gt;string&lt;/span&gt; hash = CryptoHelper.HashFor(&lt;span style="color:#A31515;"&gt;&amp;quot;DOHnuts&amp;quot;&lt;/span&gt;);
userDb.Register(&lt;span style="color:#A31515;"&gt;&amp;quot;homer&amp;quot;&lt;/span&gt;, hash);
&lt;span style="color:Blue;"&gt;bool&lt;/span&gt; isAuthenticated = userDb.Authenticate(&lt;span style="color:#A31515;"&gt;&amp;quot;homer&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;DOHnuts&amp;quot;&lt;/span&gt;);
&lt;/pre&gt;&lt;/div&gt;Or using traditional command/query style.&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
[Serializable]
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; RegisterUserCommand : Command&amp;lt;UsersModel&amp;gt;
{
   &lt;span style="color:Green;"&gt;//note how this command targets UsersModel&lt;/span&gt;
}

IEngine&amp;lt;MyModel&amp;gt; engine = Engine.For&amp;lt;MyModel&amp;gt;();

&lt;span style="color:Green;"&gt;//Execute() now accept commands targeted for any model type and routes to child model&lt;/span&gt;
engine.Execute(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; RegisterUserCommand(&lt;span style="color:#A31515;"&gt;&amp;quot;homer&amp;quot;&lt;/span&gt;, hash));
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Mon, 22 Oct 2012 15:14:53 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Child Models 20121022031453P</guid></item><item><title>Updated Wiki: Documentation</title><link>http://livedomain.codeplex.com/documentation?version=30</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Documentation&lt;/h1&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Quick%20Start%20Guide&amp;referringTitle=Documentation"&gt;Quick Start Guide&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=FAQ&amp;referringTitle=Documentation"&gt;FAQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Modeling&amp;referringTitle=Documentation"&gt;Modeling&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Child%20Models&amp;referringTitle=Documentation"&gt;Child Models&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Writing Commands&lt;/li&gt;
&lt;li&gt;Writing Queries
&lt;ul&gt;&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Compiled%20Linq%20Queries&amp;referringTitle=Documentation"&gt;Compiled Linq Queries&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Views&amp;referringTitle=Documentation"&gt;Views&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Schema%20evolution&amp;referringTitle=Documentation"&gt;Schema evolution&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Engine&amp;referringTitle=Documentation"&gt;Engine&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Client%20API&amp;referringTitle=Documentation"&gt;Client API&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=PartitionClusterClient&amp;referringTitle=Documentation"&gt;Partition Client&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Connection%20strings&amp;referringTitle=Documentation"&gt;Connection strings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Model%20Proxy&amp;referringTitle=Documentation"&gt;Transparent Proxying&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Configuration&amp;referringTitle=Documentation"&gt;Configuration&lt;/a&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Extensibility&amp;referringTitle=Documentation"&gt;Extensibility&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=File%20storage&amp;referringTitle=Documentation"&gt;File storage&lt;/a&gt; (default)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Sql%20storage&amp;referringTitle=Documentation"&gt;Sql storage&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Snapshots&amp;referringTitle=Documentation"&gt;Snapshots&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Store%20Utility&amp;referringTitle=Documentation"&gt;Store Utility&lt;/a&gt; - journal and snapshot conversion tool&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Mon, 22 Oct 2012 15:13:07 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Documentation 20121022031307P</guid></item><item><title>Updated Wiki: file upload test</title><link>http://livedomain.codeplex.com/wikipage?title=file upload test&amp;version=4</link><description>&lt;div class="wikidoc"&gt;ooioij &lt;br /&gt;&lt;a href="http://www.codeplex.com/Download?ProjectName=livedomain&amp;DownloadId=517969"&gt;Koala.jpg&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Mon, 22 Oct 2012 15:00:20 GMT</pubDate><guid isPermaLink="false">Updated Wiki: file upload test 20121022030020P</guid></item><item><title>Updated Wiki: file upload test</title><link>http://livedomain.codeplex.com/wikipage?title=file upload test&amp;version=3</link><description>&lt;div class="wikidoc"&gt;ooioij &lt;br /&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=file%3aKoala.jpg&amp;referringTitle=file%20upload%20test"&gt;download warez&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Mon, 22 Oct 2012 14:59:44 GMT</pubDate><guid isPermaLink="false">Updated Wiki: file upload test 20121022025944P</guid></item><item><title>Updated Wiki: file upload test</title><link>http://livedomain.codeplex.com/wikipage?title=file upload test&amp;version=2</link><description>&lt;div class="wikidoc"&gt;ooioij &lt;br /&gt;&lt;br /&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=livedomain&amp;DownloadId=517969" alt="Koala.jpg" title="Koala.jpg" /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Mon, 22 Oct 2012 14:58:59 GMT</pubDate><guid isPermaLink="false">Updated Wiki: file upload test 20121022025859P</guid></item><item><title>Updated Wiki: file upload test</title><link>http://livedomain.codeplex.com/wikipage?title=file upload test&amp;version=1</link><description>&lt;div class="wikidoc"&gt;ooioij&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Mon, 22 Oct 2012 14:57:40 GMT</pubDate><guid isPermaLink="false">Updated Wiki: file upload test 20121022025740P</guid></item><item><title>Updated Wiki: Child Models</title><link>http://livedomain.codeplex.com/wikipage?title=Child Models&amp;version=6</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Child Models&lt;/h1&gt;&lt;i&gt;Note! This is a highly experimental feature and needs more testing!&lt;/i&gt;&lt;br /&gt;This is a feature which enables reuse of existing models by including them in your Model. Here&amp;#39;s a part of the Model class supporting this feature:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; Model
{
   &lt;span style="color:Green;"&gt;//keyed by model type&lt;/span&gt;
   &lt;span style="color:Blue;"&gt;private&lt;/span&gt; Dictionary&amp;lt;Type,Model&amp;gt; _childModels;

   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; T ChildFor&amp;lt;T&amp;gt;() &lt;span style="color:Blue;"&gt;where&lt;/span&gt; T : Model
   {
      &lt;span style="color:Green;"&gt;//return a model of type T, creating one if necessary&lt;/span&gt;
   }
}
&lt;/pre&gt;&lt;/div&gt;And here&amp;#39;s an example model (partial) which could be a good candidate for reuse:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
[Serializable]
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; UsersModel : Model
{
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; Register(&lt;span style="color:Blue;"&gt;string&lt;/span&gt; name, &lt;span style="color:Blue;"&gt;string&lt;/span&gt; passwordHash)
   {
      ...
   }
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; Authenticate(&lt;span style="color:Blue;"&gt;string&lt;/span&gt; user, &lt;span style="color:Blue;"&gt;string&lt;/span&gt; password)
   {
      ...
   }
}
&lt;/pre&gt;&lt;/div&gt;Including and accessing the UserModel using a transparent proxy:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;

&lt;span style="color:Green;"&gt;//get a proxy for the main model&lt;/span&gt;
&lt;span style="color:Blue;"&gt;var&lt;/span&gt; db = Db.For&amp;lt;MyModel&amp;gt;();

&lt;span style="color:Green;"&gt;//Get a child proxy and do stuff &lt;/span&gt;
UsersModel userDb = db.ChildFor&amp;lt;UsersModel&amp;gt;()
&lt;span style="color:Blue;"&gt;string&lt;/span&gt; hash = CryptoHelper.HashFor(&lt;span style="color:#A31515;"&gt;&amp;quot;DOHnuts&amp;quot;&lt;/span&gt;);
userDb.Register(&lt;span style="color:#A31515;"&gt;&amp;quot;homer&amp;quot;&lt;/span&gt;, hash);
&lt;span style="color:Blue;"&gt;bool&lt;/span&gt; isAuthenticated = userDb.Authenticate(&lt;span style="color:#A31515;"&gt;&amp;quot;homer&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;DOHnuts&amp;quot;&lt;/span&gt;);
&lt;/pre&gt;&lt;/div&gt;Or using traditional command/query style.&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
[Serializable]
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; RegisterUserCommand : Command&amp;lt;UsersModel&amp;gt;
{
   &lt;span style="color:Green;"&gt;//note how this command targets UsersModel&lt;/span&gt;
}

&lt;span style="color:Blue;"&gt;var&lt;/span&gt; engine = Engine.For&amp;lt;MyModel&amp;gt;();
&lt;span style="color:Green;"&gt;//handlers now accept commands targeted for any model type&lt;/span&gt;
engine.Execute(&lt;span style="color:Blue;"&gt;new&lt;/span&gt; RegisterUserCommand(&lt;span style="color:#A31515;"&gt;&amp;quot;homer&amp;quot;&lt;/span&gt;, hash));
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Mon, 22 Oct 2012 14:57:23 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Child Models 20121022025723P</guid></item><item><title>Updated Wiki: Child Models</title><link>http://livedomain.codeplex.com/wikipage?title=Child Models&amp;version=5</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Child Models&lt;/h1&gt;
This is a feature which enables reuse of existing models by including them in your Model. Here&amp;#39;s a part of the Model class supporting this feature:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; Model
{
   &lt;span style="color:Green;"&gt;//keyed by model type&lt;/span&gt;
   &lt;span style="color:Blue;"&gt;private&lt;/span&gt; Dictionary&amp;lt;Type,Model&amp;gt; _childModels;

   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; T ChildFor&amp;lt;T&amp;gt;() &lt;span style="color:Blue;"&gt;where&lt;/span&gt; T : Model
   {
      &lt;span style="color:Green;"&gt;//return a model of type T, creating one if necessary&lt;/span&gt;
   }
}
&lt;/pre&gt;&lt;/div&gt;And here&amp;#39;s an example model (partial) which could be a good candidate for reuse:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
[Serializable]
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; UsersModel : Model
{
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; Register(&lt;span style="color:Blue;"&gt;string&lt;/span&gt; name, &lt;span style="color:Blue;"&gt;string&lt;/span&gt; passwordHash)
   {
      ...
   }
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; Authenticate(&lt;span style="color:Blue;"&gt;string&lt;/span&gt; user, &lt;span style="color:Blue;"&gt;string&lt;/span&gt; password)
   {
      ...
   }
}
&lt;/pre&gt;&lt;/div&gt;Including and accessing the UserModel using a transparent proxy:&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;

&lt;span style="color:Green;"&gt;//get a proxy for the main model&lt;/span&gt;
&lt;span style="color:Blue;"&gt;var&lt;/span&gt; db = Db.For&amp;lt;MyModel&amp;gt;();

&lt;span style="color:Green;"&gt;//Get a child proxy and do stuff &lt;/span&gt;
UsersModel userDb = db.ChildFor&amp;lt;UsersModel&amp;gt;()
&lt;span style="color:Blue;"&gt;string&lt;/span&gt; hash = CryptoHelper.HashFor(&lt;span style="color:#A31515;"&gt;&amp;quot;DOHnuts&amp;quot;&lt;/span&gt;);
userDb.Register(&lt;span style="color:#A31515;"&gt;&amp;quot;homer&amp;quot;&lt;/span&gt;, hash);
&lt;span style="color:Blue;"&gt;bool&lt;/span&gt; isAuthenticated = userDb.Authenticate(&lt;span style="color:#A31515;"&gt;&amp;quot;homer&amp;quot;&lt;/span&gt;, &lt;span style="color:#A31515;"&gt;&amp;quot;DOHnuts&amp;quot;&lt;/span&gt;);
&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Mon, 22 Oct 2012 14:42:30 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Child Models 20121022024230P</guid></item><item><title>Updated Wiki: Child Models</title><link>http://livedomain.codeplex.com/wikipage?title=Child Models&amp;version=4</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Child Models&lt;/h1&gt;
This is a feature which enables reuse of existing models by including them in your Model. Here&amp;#39;s the parts of th Model class supporting this feature:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;

&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; Model
{
   &lt;span style="color:Green;"&gt;//keyed by model type&lt;/span&gt;
   &lt;span style="color:Blue;"&gt;private&lt;/span&gt; Dictionary&amp;lt;Type,Model&amp;gt; _childModels;

   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; T ChildFor&amp;lt;T&amp;gt;() &lt;span style="color:Blue;"&gt;where&lt;/span&gt; T : Model
   {
      &lt;span style="color:Green;"&gt;//return a model of type T, creating one if necessary&lt;/span&gt;
   }
}
&lt;/pre&gt;&lt;/div&gt;And here&amp;#39;s an example model (partial) which could be a good candidate for reuse:&lt;br /&gt;&lt;br /&gt;&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
[Serializable]
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; UsersModel : Model
{
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; Register(&lt;span style="color:Blue;"&gt;string&lt;/span&gt; name, &lt;span style="color:Blue;"&gt;string&lt;/span&gt; passwordHash)
   {
      ...
   }
   &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; Authenticate(&lt;span style="color:Blue;"&gt;string&lt;/span&gt; user, &lt;span style="color:Blue;"&gt;string&lt;/span&gt; password)
   {
      ...
   }
}
&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Mon, 22 Oct 2012 14:30:55 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Child Models 20121022023055P</guid></item><item><title>Updated Wiki: Child Models</title><link>http://livedomain.codeplex.com/wikipage?title=Child Models&amp;version=3</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Child Models&lt;/h1&gt;
This is a feature which enables reuse of existing models by including them in your Model. Here&amp;#39;s the parts of th Model class supporting this feature:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=code%3ac&amp;referringTitle=Child%20Models"&gt;code&amp;#58;c&lt;/a&gt;&lt;br /&gt;public class Model&lt;br /&gt;{&lt;br /&gt;   //keyed by model type&lt;br /&gt;   private Dictionary&amp;lt;Type,Model&amp;gt; _childModels;&lt;br /&gt;&lt;br /&gt;   public T ChildFor&amp;lt;T&amp;gt;() where T : Model&lt;br /&gt;   {&lt;br /&gt;      //return a model of type T, creating one if necessary&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=code%3ac&amp;referringTitle=Child%20Models"&gt;code&amp;#58;c&lt;/a&gt;&lt;br /&gt;And here&amp;#39;s an example model (partial) which could be a good candidate for reuse:&lt;br /&gt;&lt;br /&gt;{code:c#} &lt;br /&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Serializable&amp;referringTitle=Child%20Models"&gt;Serializable&lt;/a&gt;&lt;br /&gt;public class UsersModel : Model&lt;br /&gt;{&lt;br /&gt;   public void Register(string name, string passwordHash)&lt;br /&gt;   {&lt;br /&gt;      ...&lt;br /&gt;   }&lt;br /&gt;   public bool Authenticate(string user, string password)&lt;br /&gt;   {&lt;br /&gt;      ...&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;{code:c#} &lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Mon, 22 Oct 2012 14:29:04 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Child Models 20121022022904P</guid></item><item><title>Updated Wiki: Child Models</title><link>http://livedomain.codeplex.com/wikipage?title=Child Models&amp;version=2</link><description>&lt;div class="wikidoc"&gt;&lt;h1&gt;Child Models&lt;/h1&gt;
This is a feature which enables reuse of existing models by including them in your Model. Here&amp;#39;s the parts of th Model class supporting this feature:&lt;br /&gt;&lt;br /&gt;{code:c#} &lt;br /&gt;public class Model&lt;br /&gt;{&lt;br /&gt;   //keyed by model type&lt;br /&gt;   private Dictionary&amp;lt;Type,Model&amp;gt; _childModels;&lt;br /&gt;&lt;br /&gt;   public T ChildFor&amp;lt;T&amp;gt;() where T : Model&lt;br /&gt;   {&lt;br /&gt;      //return a model of type T, creating one if necessary&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;{code:c#} &lt;br /&gt;And here&amp;#39;s an example model (partial) which could be a good candidate for reuse:&lt;br /&gt;&lt;br /&gt;{code:c#} &lt;br /&gt;&lt;a href="http://livedomain.codeplex.com/wikipage?title=Serializable&amp;referringTitle=Child%20Models"&gt;Serializable&lt;/a&gt;&lt;br /&gt;public class UsersModel : Model&lt;br /&gt;{&lt;br /&gt;   public void Register(string name, string passwordHash)&lt;br /&gt;   {&lt;br /&gt;      ...&lt;br /&gt;   }&lt;br /&gt;   public bool Authenticate(string user, string password)&lt;br /&gt;   {&lt;br /&gt;      ...&lt;br /&gt;   }&lt;br /&gt;}&lt;br /&gt;{code:c#} &lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>rofr</author><pubDate>Mon, 22 Oct 2012 14:28:19 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Child Models 20121022022819P</guid></item></channel></rss>