<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>NBusiness Wiki &amp; Documentation Rss Feed</title><link>http://www.codeplex.com/Wiki/View.aspx?ProjectName=NBusiness&amp;title=Home</link><description>NBusiness Wiki Rss Description</description><item><title>Updated Wiki: Home</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Home&amp;version=39</link><description>&lt;div class="wikidoc"&gt;
&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;NBusiness: A Entity Domain Specific Language Tool&lt;/b&gt;&lt;br /&gt;&lt;i&gt;A .NET Entity DSL Provider, Templated Code Generator, Visual Studio Plugin and Business Object Framework&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;b&gt;note:&lt;/b&gt; &lt;i&gt;[This wiki is in the process of updating for v3 of NBusiness, some pages may not be accurate right now]&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;NBusiness is a Visual Studio Plugin that allows you to define entities and models in projects of various languages (i.e. C#, VB and &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Boo&amp;amp;referringTitle=Home"&gt;Boo&lt;/a&gt;). Once defined these &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entities&amp;amp;referringTitle=Home"&gt;Entities&lt;/a&gt; and &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Models&amp;amp;referringTitle=Home"&gt;Models&lt;/a&gt; can be attached to &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Templates&amp;amp;referringTitle=Home"&gt;Templates&lt;/a&gt; that will generate code in the language of the project. NBusiness can be used to generate middle tiers of applications as well as SQL for performing data access and even database tables.&lt;br /&gt; &lt;br /&gt;NBusiness includes &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Templates&amp;amp;referringTitle=Home"&gt;Templates&lt;/a&gt; for generating &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=CSLA&amp;amp;referringTitle=Home"&gt;CSLA&lt;/a&gt; business objects and NBusiness business objects. &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Templates&amp;amp;referringTitle=Home"&gt;Templates&lt;/a&gt; are easy to create and existing &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Templates&amp;amp;referringTitle=Home"&gt;Templates&lt;/a&gt; are easy to customize. &lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;Benefits of using NBusiness&lt;/b&gt;&lt;br /&gt;NBusiness differentiates itself from other code generators with a few distinct points:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Your &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=DSL&amp;amp;referringTitle=Home"&gt;DSL&lt;/a&gt; is E# rather than XML.&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;Computers like to read XML but people like to read Code.&lt;/li&gt;&lt;li&gt;Source Control software doesn't like to merge XML but it does like to merge Code.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Your DSL &lt;i&gt;is&lt;/i&gt; the &lt;a href="http://justnbusiness.blogspot.com/2007/06/nearing-v20-release.html" class="externalLink"&gt;source of truth&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; &lt;i&gt;NOT&lt;/i&gt; the database.&lt;/li&gt;&lt;li&gt;NBusiness supports business objects, not just data access.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20template&amp;amp;referringTitle=Home" class="externalLink"&gt;Object oriented templates.&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;NBusiness also comes with some template generator tools for popular view engines such as &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=NVelocity&amp;amp;referringTitle=Home"&gt;NVelocity&lt;/a&gt; and &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Spark&amp;amp;referringTitle=Home"&gt;Spark&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Visual Studio Integration (&lt;a href="http://www.codeplex.com/NBusiness/Release/ProjectReleases.aspx?ReleaseId=3900" class="externalLink"&gt;v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://www.justnbusiness.com/uploads/images/nbusiness-vsintegration.png" class="externalLink"&gt;screenshot&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;More Information&lt;/b&gt;&lt;br /&gt;To get more information about NBusiness please visit the other areas of our wiki pages:&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Frequently%20Asked%20Questions%20%28FAQ%29&amp;amp;referringTitle=Home"&gt;Frequently Asked Questions (FAQ)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Getting%20Started&amp;amp;referringTitle=Home"&gt;Getting Started&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Project documentation&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=A%20simple%20entity&amp;amp;referringTitle=Home"&gt;A simple entity&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20relationships&amp;amp;referringTitle=Home"&gt;Creating relationships&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20rules&amp;amp;referringTitle=Home"&gt;Creating rules&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Specifying%20actions&amp;amp;referringTitle=Home"&gt;Specifying actions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Assigning%20templates&amp;amp;referringTitle=Home"&gt;Assigning templates&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Compiling%20an%20entity%20project%20using%20esc&amp;amp;referringTitle=Home"&gt;Compiling an entity project using esc&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Visual%20Studio%20Integration&amp;amp;referringTitle=Home"&gt;Visual Studio Integration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Using%20your%20NBusiness%20objects&amp;amp;referringTitle=Home"&gt;Using your NBusiness objects&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Using%20the%20entity%20data%20source%20control&amp;amp;referringTitle=Home"&gt;Using the entity data source control&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Configuring%20NBusiness&amp;amp;referringTitle=Home"&gt;Configuring NBusiness&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Extending NBusiness&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20provider&amp;amp;referringTitle=Home"&gt;Creating your own provider&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20template&amp;amp;referringTitle=Home"&gt;Creating your own template&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Adding%20custom%20code&amp;amp;referringTitle=Home"&gt;Adding custom code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Extras&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Gold%20Parser%20Grammar&amp;amp;referringTitle=Home"&gt;Gold Parser Grammar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.justnbusiness.com/" class="externalLink"&gt;justnbusiness &lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; - An NBusiness developer blog&lt;/li&gt;&lt;li&gt;Futures&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Inheritance&amp;amp;referringTitle=Home"&gt;Entity Inheritance&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Models&amp;amp;referringTitle=Home"&gt;Entity Models&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Attributes&amp;amp;referringTitle=Home"&gt;Entity Attributes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Partial%20Entities&amp;amp;referringTitle=Home"&gt;Partial Entities&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Reflection&amp;amp;referringTitle=Home"&gt;Entity Reflection&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Targeted%20Validation&amp;amp;referringTitle=Home"&gt;Targeted Validation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;Powered By NBusiness&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.pertnearsandstone.com/default.aspx" class="externalLink"&gt;Pert Near Sandstone&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.justnbusiness.com" class="externalLink"&gt;justnbusiness&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=9914" alt="Powered By NBusiness" /&gt; feel free to use &lt;a href="javascript:window.location.href='http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=9914';"&gt;this&lt;/a&gt; logo on your site!&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;Developers Wanted!&lt;/b&gt;&lt;br /&gt;We're looking for developers experienced with business object frameworks, code generation, ORM, compilers or unit testing. Furthermore we're seeking conversation on how best to define syntax for &amp;quot;Entity Languages&amp;quot; and the responsibilities of business objects. We are also looking for anyone experienced in Aspect Oriented Programming and Intentional Programming to help expand our minds and to help us incorporate those concepts as well as possible.&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt;If you would like to join the NBusiness team or contact the project lead send an email to &lt;a href="mailto:justncase80@gmail.com" class="externalLink"&gt;justncase80@gmail.com &lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Wed, 23 Jul 2008 03:47:36 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20080723034736A</guid></item><item><title>UPDATED WIKI: Entity Models</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity Models&amp;version=8</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Entity Models
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Entity models allow you to specify which data and behviors of entities are to be used for a specific use case. &lt;/li&gt;&lt;li&gt;Models must always inherit from entities but may not declare any new fields. &lt;/li&gt;&lt;li&gt;Models may hide data and behaviors from the inhering entities and they may declare new behaviors. &lt;/li&gt;&lt;li&gt;Models or entities will be able to have templates. Templates will have a property specifying which if they may be applied to entities and / or models&lt;/li&gt;&lt;li&gt;Only readonly models may hide non-nullable fields.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h4&gt;
Example:
&lt;/h4&gt;&lt;pre&gt;
family Business
{
    entity A
    {
        field auto id int aid;
        field int bid;
        field string Data;
        field nullable int Type;
 
        relative B with B on bid=bid as parent;
    }
    entity B
    {
        field auto id int bid;
        field string Name;
    }
    
 
    family Usecase1
    {
        model M1 : A as EntityBase
        {
            inherit field Type;
            inherit relationship B;
 
            validate Data customrule;
        }
        model readonly M2 : A as EntityBase
        {
            inherit field int Type;
            inherit field B.Name;
        }
    }
}
&lt;/pre&gt; &lt;br /&gt;&lt;h3&gt;
Models have the following rules
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;Models must inherit all id fields. &lt;/li&gt;&lt;li&gt;Models must inherit all non-nullable fields.&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;All non-id fields on Models marked with readonly are treated as if they were nullable.&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;You may choose not to inherit nullable fields.&lt;/li&gt;&lt;li&gt;You may choose not to inherit relationships.&lt;/li&gt;&lt;li&gt;You may inherit fields from a relative.&lt;/li&gt;&lt;li&gt;You may choose not to inherit rules.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;The reasons for the above rules are there because if you try to insert a model you will need to have values for every single non-nullable field in order to do the inserts. If you want a very limited subset only for display purposes then you can create a readonly model and since it doesn't need to be inserted or updated it will not need to inherit non-nullable fields.&lt;br /&gt; &lt;br /&gt;Additionally relationships and rules are optionally inherited. You must specify to inherit them specifically. You may choose to inherit a field on a Model directly through a relationship, this will subsequently cause all data access code to directly join during fetch operations. There will be no relationship object to load it will be as if it is a field directly apart of the model.&lt;br /&gt; &lt;br /&gt;In the above example you would have the following results:&lt;br /&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; A &lt;/th&gt;&lt;th&gt; M1 &lt;/th&gt;&lt;th&gt; M2 &lt;/th&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; id aid &lt;/td&gt;&lt;td&gt; inherits &lt;/td&gt;&lt;td&gt; inherits &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; Data &lt;/td&gt;&lt;td&gt; inherits &lt;/td&gt;&lt;td&gt; does not inherit &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; Type &lt;/td&gt;&lt;td&gt; inherits &lt;/td&gt;&lt;td&gt; inherits &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; B.Name &lt;/td&gt;&lt;td&gt; accessible through relationship &lt;/td&gt;&lt;td&gt; inherits &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; &lt;br /&gt; &lt;br /&gt; &lt;br /&gt;See Also: &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Attributes&amp;amp;referringTitle=Entity%20Models"&gt;Entity Attributes&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Wed, 20 Feb 2008 05:15:21 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Entity Models 20080220051521A</guid></item><item><title>UPDATED WIKI: Partial Entities</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Partial Entities&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Partial Entities
&lt;/h2&gt;Mainly there for supporting code generation of entities. One part may be generated by a designer while the other part is written manually.&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
family Example
{
    entity partial A as EntityBase
    {
        field auto id int aid;
    }
 
    entity partial A
    {
        field string Data;
    }
}
&lt;/pre&gt; &lt;br /&gt;See Also: &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Reflection&amp;amp;referringTitle=Partial%20Entities"&gt;Entity Reflection&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Sat, 19 Jan 2008 21:52:15 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Partial Entities 20080119095215P</guid></item><item><title>UPDATED WIKI: Entity Attributes</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity Attributes&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Entity Attributes
&lt;/h2&gt;Allow attributes to be added to various parts of an entity to suply extra meta-data to templates as needed.&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
family Business
{
    [DataTable(&amp;quot;tblExample&amp;quot;)]
    entity Example as EntityBase
    {
        [DataField(&amp;quot;id&amp;quot;)]
        field auto id int ExampleId;
 
        [DataField(&amp;quot;colData&amp;quot;)]
        field string Data;
    }
}
&lt;/pre&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;It will be possible to create custom attributes, simply add the correct using statements above.&lt;/li&gt;&lt;li&gt;Some default attributes will be created for extra database mapping information if desired.&lt;/li&gt;&lt;li&gt;Entity Attributes will have the ability to restrict what they are able to be placed on just like regular attributes.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;See also: &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Partial%20Entities&amp;amp;referringTitle=Entity%20Attributes"&gt;Partial Entities&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Sat, 19 Jan 2008 21:49:51 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Entity Attributes 20080119094951P</guid></item><item><title>UPDATED WIKI: Entity Models</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity Models&amp;version=7</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Entity Models
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Entity models allow you to specify which data and behviors of entities are to be used for a specific use case. &lt;/li&gt;&lt;li&gt;Models must always inherit from entities but may not declare any new fields. &lt;/li&gt;&lt;li&gt;Models may hide data and behaviors from the inhering entities and they may declare new behaviors. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Only models may posess templates&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Only readonly models may hide non-nullable fields.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h4&gt;
Example:
&lt;/h4&gt;&lt;pre&gt;
family Business
{
    entity A
    {
        field auto id int aid;
        field string Data;
        field nullable int Type;
    }
 
    family Usecase1
    {
        model B : A as EntityBase
        {
            hide field Type;
            
            validate Data customrule;
        }
        model readonly C : A as EntityInfo
        {
            hide field Data;
        }
    }
}
&lt;/pre&gt; &lt;br /&gt;See Also: &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Attributes&amp;amp;referringTitle=Entity%20Models"&gt;Entity Attributes&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Sat, 19 Jan 2008 21:46:55 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Entity Models 20080119094655P</guid></item><item><title>UPDATED WIKI: Entity Models</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity Models&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Entity Models
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Entity models allow you to specify which data and behviors of entities are to be used for a specific use case. &lt;/li&gt;&lt;li&gt;Models must always inherit from entities but may not declare any new fields. &lt;/li&gt;&lt;li&gt;Models may hide data and behaviors from the inhering entities and they may declare new behaviors. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Only models may posess templates&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Only readonly models may hide non-nullable fields.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h4&gt;
Example:
&lt;/h4&gt;&lt;pre&gt;
family Business
{
    entity A
    {
        field auto id int aid;
        field string Data;
        field nullable int Type;
    }
 
    family Usecase1
    {
        model B : A as EntityBase
        {
            hide field Type;
            
            validate Data customrule;
        }
        model readonly C : A as EntityInfo
        {
            hide field Data;
        }
    }
}
&lt;/pre&gt; &lt;br /&gt;See Also: &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Models&amp;amp;referringTitle=Entity%20Models"&gt;Entity Models&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Thu, 17 Jan 2008 03:01:50 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Entity Models 20080117030150A</guid></item><item><title>UPDATED WIKI: Partial Entities</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Partial Entities&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Partial Entities
&lt;/h2&gt;Mainly there for supporting code generation of entities. One part may be generated by a designer while the other part is written manually.&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
family Example
{
    entity partial A as EntityBase
    {
        field auto id int aid;
    }
 
    entity partial A
    {
        field string Data;
    }
}
&lt;/pre&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Sat, 03 Nov 2007 05:26:59 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Partial Entities 20071103052659A</guid></item><item><title>UPDATED WIKI: Partial Entities</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Partial Entities&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Partial Entities
&lt;/h2&gt;Mainly there for supporting code generation of entities.&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
family Example
{
    entity partial A as EntityBase
    {
        field auto id int aid;
    }
 
    entity partial A
    {
        field string Data;
    }
}
&lt;/pre&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Sat, 03 Nov 2007 05:26:25 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Partial Entities 20071103052625A</guid></item><item><title>UPDATED WIKI: Entity Models</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity Models&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Entity Models
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Entity models allow you to specify which data and behviors of entities are to be used for a specific use case. &lt;/li&gt;&lt;li&gt;Models must always inherit from entities but may not declare any new fields. &lt;/li&gt;&lt;li&gt;Models may hide data and behaviors from the inhering entities and they may declare new behaviors. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Only models may posess templates&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Only readonly models may hide non-nullable fields.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h4&gt;
Example:
&lt;/h4&gt;&lt;pre&gt;
family Business
{
    entity A
    {
        field auto id int aid;
        field string Data;
        field nullable int Type;
    }
 
    family Usecase1
    {
        model B : A as EntityBase
        {
            hide field Type;
            
            validate Data customrule;
        }
        model readonly C : A as EntityInfo
        {
            hide field Data;
        }
    }
}
&lt;/pre&gt; &lt;br /&gt;See Also: &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Inheritance&amp;amp;referringTitle=Entity%20Models"&gt;Entity Inheritance&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Sat, 03 Nov 2007 05:19:49 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Entity Models 20071103051949A</guid></item><item><title>UPDATED WIKI: Entity Models</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity Models&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Entity Models
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Entity models allow you to specify which data and behviors of entities are to be used for a specific use case. &lt;/li&gt;&lt;li&gt;Models must always inherit from entities but may not declare any new fields. &lt;/li&gt;&lt;li&gt;Models may hide data and behaviors from the inhering entities and they may declare new behaviors. &lt;/li&gt;&lt;li&gt;&lt;b&gt;Only models may posess templates&lt;/b&gt;.&lt;/li&gt;&lt;li&gt;Only readonly models may hide non-nullable fields.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h4&gt;
Example:
&lt;/h4&gt;&lt;pre&gt;
family Business
{
    entity A
    {
        field auto id int aid;
        field string Data;
        field nullable int Type;
    }
 
    family Usecase1
    {
        model B : A as EntityBase
        {
            hide field Type;
            
            validate Data customrule;
        }
        model readonly C : A as EntityBase
        {
            hide field Data;
        }
    }
}
&lt;/pre&gt; &lt;br /&gt;See Also: &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Inheritance&amp;amp;referringTitle=Entity%20Models"&gt;Entity Inheritance&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Sat, 03 Nov 2007 05:16:55 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Entity Models 20071103051655A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Home&amp;version=38</link><description>&lt;div class="wikidoc"&gt;
&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;NBusiness: An Entity Oriented Programming Library&lt;/b&gt;&lt;br /&gt;&lt;i&gt;A .net Entity Language Provider, E# compiler and business object framework&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;NBusiness features an Entity Definition Language known as E# (E Sharp). E is for Entity and # is a reference to C#, from which its syntax is based.&lt;br /&gt; &lt;br /&gt;The Entity Definition Language (EDL) focuses not on objects, or business objects, but instead on 'Entities'. An Entity may actually be made up of many objects however the exact implementation of those objects is not a concern of Entity Definition Languages. EDL focuses instead on higher level concepts such as Relationships between Entities, Business Rules and Responsibilities of Entities. EDL must specify data field information for Entities, however data access is not a concern of EDL.&lt;br /&gt; &lt;br /&gt;NBusiness includes some default templates and a light weight Business Object framework for providing the default functionality of the E# compiler.&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;In Plain English&lt;/b&gt;&lt;br /&gt;So what the heck does all of this mean? Well, essentially NBusiness is just another code generator specializing in creating data access layers. There are plenty of other projects with a similar goal (&lt;a href="http://www.codesmithtools.com/" class="externalLink"&gt;Code Smith&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://www.adapdev.com/codus/" class="externalLink"&gt;Codus&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://subsonicproject.com/" class="externalLink"&gt;SubSonic&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, etc.) but NBusiness differentiates itself with a few distinct points.&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Your meta-data is E# rather than XML.&lt;/li&gt;&lt;li&gt;Your meta-data is the &lt;a href="http://justnbusiness.blogspot.com/2007/06/nearing-v20-release.html" class="externalLink"&gt;source of truth&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; NOT the database.&lt;/li&gt;&lt;li&gt;NBusiness supports business objects, not just data access.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20template&amp;amp;referringTitle=Home" class="externalLink"&gt;Object oriented templates.&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Visual Studio Integration (&lt;a href="http://www.codeplex.com/NBusiness/Release/ProjectReleases.aspx?ReleaseId=3900" class="externalLink"&gt;v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://www.justnbusiness.com/uploads/images/nbusiness-vsintegration.png" class="externalLink"&gt;screenshot&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;More Information&lt;/b&gt;&lt;br /&gt;To get more information about NBusiness please visit the other areas of our wiki pages:&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Frequently%20Asked%20Questions%20%28FAQ%29&amp;amp;referringTitle=Home"&gt;Frequently Asked Questions (FAQ)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Getting%20Started&amp;amp;referringTitle=Home"&gt;Getting Started&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Project documentation&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=A%20simple%20entity&amp;amp;referringTitle=Home"&gt;A simple entity&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20relationships&amp;amp;referringTitle=Home"&gt;Creating relationships&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20rules&amp;amp;referringTitle=Home"&gt;Creating rules&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Specifying%20actions&amp;amp;referringTitle=Home"&gt;Specifying actions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Assigning%20templates&amp;amp;referringTitle=Home"&gt;Assigning templates&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Compiling%20an%20entity%20project%20using%20esc&amp;amp;referringTitle=Home"&gt;Compiling an entity project using esc&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Visual%20Studio%20Integration&amp;amp;referringTitle=Home"&gt;Visual Studio Integration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Using%20your%20NBusiness%20objects&amp;amp;referringTitle=Home"&gt;Using your NBusiness objects&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Using%20the%20entity%20data%20source%20control&amp;amp;referringTitle=Home"&gt;Using the entity data source control&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Configuring%20NBusiness&amp;amp;referringTitle=Home"&gt;Configuring NBusiness&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Extending NBusiness&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20provider&amp;amp;referringTitle=Home"&gt;Creating your own provider&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20template&amp;amp;referringTitle=Home"&gt;Creating your own template&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Adding%20custom%20code&amp;amp;referringTitle=Home"&gt;Adding custom code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Extras&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Gold%20Parser%20Grammar&amp;amp;referringTitle=Home"&gt;Gold Parser Grammar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.justnbusiness.com/" class="externalLink"&gt;justnbusiness &lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; - An NBusiness developer blog&lt;/li&gt;&lt;li&gt;Futures&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Inheritance&amp;amp;referringTitle=Home"&gt;Entity Inheritance&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Models&amp;amp;referringTitle=Home"&gt;Entity Models&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Attributes&amp;amp;referringTitle=Home"&gt;Entity Attributes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Partial%20Entities&amp;amp;referringTitle=Home"&gt;Partial Entities&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Reflection&amp;amp;referringTitle=Home"&gt;Entity Reflection&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Targeted%20Validation&amp;amp;referringTitle=Home"&gt;Targeted Validation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;Powered By NBusiness&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.pertnearsandstone.com/default.aspx" class="externalLink"&gt;Pert Near Sandstone&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.justnbusiness.com" class="externalLink"&gt;justnbusiness&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=9914" alt="Powered By NBusiness" /&gt; feel free to use &lt;a href="javascript:window.location.href='http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=9914';"&gt;this&lt;/a&gt; logo on your site!&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;Developers Wanted!&lt;/b&gt;&lt;br /&gt;We're looking for developers experienced with business object frameworks, code generation, ORM, compilers or unit testing. Furthermore we're seeking conversation on how best to define syntax for &amp;quot;Entity Languages&amp;quot; and the responsibilities of business objects. We are also looking for anyone experienced in Aspect Oriented Programming and Intentional Programming to help expand our minds and to help us incorporate those concepts as well as possible.&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt;If you would like to join the NBusiness team or contact the project lead send an email to &lt;a href="mailto:justncase80@gmail.com" class="externalLink"&gt;justncase80@gmail.com &lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Fri, 02 Nov 2007 15:49:48 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20071102034948P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Home&amp;version=37</link><description>&lt;div class="wikidoc"&gt;
&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;NBusiness: An Entity Oriented Programming Library&lt;/b&gt;&lt;br /&gt;&lt;i&gt;A .net Entity Language Provider, E# compiler and business object framework&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;NBusiness features an Entity Definition Language known as E# (E Sharp). E is for Entity and # is a reference to C#, from which its syntax is based.&lt;br /&gt; &lt;br /&gt;The Entity Definition Language (EDL) focuses not on objects, or business objects, but instead on 'Entities'. An Entity may actually be made up of many objects however the exact implementation of those objects is not a concern of Entity Definition Languages. EDL focuses instead on higher level concepts such as Relationships between Entities, Business Rules and Responsibilities of Entities. EDL must specify data field information for Entities, however data access is not a concern of EDL.&lt;br /&gt; &lt;br /&gt;NBusiness includes some default templates and a light weight Business Object framework for providing the default functionality of the E# compiler.&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;In Plain English&lt;/b&gt;&lt;br /&gt;So what the heck does all of this mean? Well, essentially NBusiness is just another code generator specializing in creating data access layers. There are plenty of other projects with a similar goal (&lt;a href="http://www.codesmithtools.com/" class="externalLink"&gt;Code Smith&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://www.adapdev.com/codus/" class="externalLink"&gt;Codus&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://subsonicproject.com/" class="externalLink"&gt;SubSonic&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, etc.) but NBusiness differentiates itself with a few distinct points.&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Your meta-data is E# rather than XML.&lt;/li&gt;&lt;li&gt;Your meta-data is the &lt;a href="http://justnbusiness.blogspot.com/2007/06/nearing-v20-release.html" class="externalLink"&gt;source of truth&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; NOT the database.&lt;/li&gt;&lt;li&gt;NBusiness supports business objects, not just data access.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20template&amp;amp;referringTitle=Home" class="externalLink"&gt;Object oriented templates.&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Visual Studio Integration (&lt;a href="http://www.codeplex.com/NBusiness/Release/ProjectReleases.aspx?ReleaseId=3900" class="externalLink"&gt;v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://www.justnbusiness.com/uploads/images/nbusiness-vsintegration.png" class="externalLink"&gt;screenshot&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;More Information&lt;/b&gt;&lt;br /&gt;To get more information about NBusiness please visit the other areas of our wiki pages:&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Frequently%20Asked%20Questions%20%28FAQ%29&amp;amp;referringTitle=Home"&gt;Frequently Asked Questions (FAQ)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Getting%20Started&amp;amp;referringTitle=Home"&gt;Getting Started&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Project documentation&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=A%20simple%20entity&amp;amp;referringTitle=Home"&gt;A simple entity&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20relationships&amp;amp;referringTitle=Home"&gt;Creating relationships&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20rules&amp;amp;referringTitle=Home"&gt;Creating rules&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Specifying%20actions&amp;amp;referringTitle=Home"&gt;Specifying actions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Assigning%20templates&amp;amp;referringTitle=Home"&gt;Assigning templates&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Compiling%20an%20entity%20project%20using%20esc&amp;amp;referringTitle=Home"&gt;Compiling an entity project using esc&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Visual%20Studio%20Integration&amp;amp;referringTitle=Home"&gt;Visual Studio Integration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Using%20your%20NBusiness%20objects&amp;amp;referringTitle=Home"&gt;Using your NBusiness objects&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Using%20the%20entity%20data%20source%20control&amp;amp;referringTitle=Home"&gt;Using the entity data source control&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Configuring%20NBusiness&amp;amp;referringTitle=Home"&gt;Configuring NBusiness&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Extending NBusiness&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20provider&amp;amp;referringTitle=Home"&gt;Creating your own provider&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20template&amp;amp;referringTitle=Home"&gt;Creating your own template&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Adding%20custom%20code&amp;amp;referringTitle=Home"&gt;Adding custom code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Extras&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Gold%20Parser%20Grammar&amp;amp;referringTitle=Home"&gt;Gold Parser Grammar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.justnbusiness.com/" class="externalLink"&gt;justnbusiness &lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; - An NBusiness developer blog&lt;/li&gt;&lt;li&gt;Futures&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Inheritance&amp;amp;referringTitle=Home"&gt;Entity Inheritance&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Models&amp;amp;referringTitle=Home"&gt;Entity Models&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Attributes&amp;amp;referringTitle=Home"&gt;Entity Attributes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Partial%20Entities&amp;amp;referringTitle=Home"&gt;Partial Entities&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Reflection&amp;amp;referringTitle=Home"&gt;Entity Reflection&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;Powered By NBusiness&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.pertnearsandstone.com/default.aspx" class="externalLink"&gt;Pert Near Sandstone&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.justnbusiness.com" class="externalLink"&gt;justnbusiness&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=9914" alt="Powered By NBusiness" /&gt; feel free to use &lt;a href="javascript:window.location.href='http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=9914';"&gt;this&lt;/a&gt; logo on your site!&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;Developers Wanted!&lt;/b&gt;&lt;br /&gt;We're looking for developers experienced with business object frameworks, code generation, ORM, compilers or unit testing. Furthermore we're seeking conversation on how best to define syntax for &amp;quot;Entity Languages&amp;quot; and the responsibilities of business objects. We are also looking for anyone experienced in Aspect Oriented Programming and Intentional Programming to help expand our minds and to help us incorporate those concepts as well as possible.&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt;If you would like to join the NBusiness team or contact the project lead send an email to &lt;a href="mailto:justncase80@gmail.com" class="externalLink"&gt;justncase80@gmail.com &lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Thu, 01 Nov 2007 13:35:13 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20071101013513P</guid></item><item><title>UPDATED WIKI: Entity Attributes</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity Attributes&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Entity Attributes
&lt;/h2&gt;Allow attributes to be added to various parts of an entity to suply extra meta-data to templates as needed.&lt;br /&gt; &lt;br /&gt;&lt;pre&gt;
family Business
{
    [DataTable(&amp;quot;tblExample&amp;quot;)]
    entity Example as EntityBase
    {
        [DataField(&amp;quot;id&amp;quot;)]
        field auto id int ExampleId;
 
        [DataField(&amp;quot;colData&amp;quot;)]
        field string Data;
    }
}
&lt;/pre&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;It will be possible to create custom attributes, simply add the correct using statements above.&lt;/li&gt;&lt;li&gt;Some default attributes will be created for extra database mapping information if desired.&lt;/li&gt;&lt;li&gt;Entity Attributes will have the ability to restrict what they are able to be placed on just like regular attributes.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Thu, 01 Nov 2007 13:34:46 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Entity Attributes 20071101013446P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Home&amp;version=36</link><description>&lt;div class="wikidoc"&gt;
&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;NBusiness: An Entity Oriented Programming Library&lt;/b&gt;&lt;br /&gt;&lt;i&gt;A .net Entity Language Provider, E# compiler and business object framework&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;NBusiness features an Entity Definition Language known as E# (E Sharp). E is for Entity and # is a reference to C#, from which its syntax is based.&lt;br /&gt; &lt;br /&gt;The Entity Definition Language (EDL) focuses not on objects, or business objects, but instead on 'Entities'. An Entity may actually be made up of many objects however the exact implementation of those objects is not a concern of Entity Definition Languages. EDL focuses instead on higher level concepts such as Relationships between Entities, Business Rules and Responsibilities of Entities. EDL must specify data field information for Entities, however data access is not a concern of EDL.&lt;br /&gt; &lt;br /&gt;NBusiness includes some default templates and a light weight Business Object framework for providing the default functionality of the E# compiler.&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;In Plain English&lt;/b&gt;&lt;br /&gt;So what the heck does all of this mean? Well, essentially NBusiness is just another code generator specializing in creating data access layers. There are plenty of other projects with a similar goal (&lt;a href="http://www.codesmithtools.com/" class="externalLink"&gt;Code Smith&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://www.adapdev.com/codus/" class="externalLink"&gt;Codus&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://subsonicproject.com/" class="externalLink"&gt;SubSonic&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, etc.) but NBusiness differentiates itself with a few distinct points.&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Your meta-data is E# rather than XML.&lt;/li&gt;&lt;li&gt;Your meta-data is the &lt;a href="http://justnbusiness.blogspot.com/2007/06/nearing-v20-release.html" class="externalLink"&gt;source of truth&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; NOT the database.&lt;/li&gt;&lt;li&gt;NBusiness supports business objects, not just data access.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20template&amp;amp;referringTitle=Home" class="externalLink"&gt;Object oriented templates.&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Visual Studio Integration (&lt;a href="http://www.codeplex.com/NBusiness/Release/ProjectReleases.aspx?ReleaseId=3900" class="externalLink"&gt;v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://www.justnbusiness.com/uploads/images/nbusiness-vsintegration.png" class="externalLink"&gt;screenshot&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;More Information&lt;/b&gt;&lt;br /&gt;To get more information about NBusiness please visit the other areas of our wiki pages:&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Frequently%20Asked%20Questions%20%28FAQ%29&amp;amp;referringTitle=Home"&gt;Frequently Asked Questions (FAQ)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Getting%20Started&amp;amp;referringTitle=Home"&gt;Getting Started&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Project documentation&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=A%20simple%20entity&amp;amp;referringTitle=Home"&gt;A simple entity&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20relationships&amp;amp;referringTitle=Home"&gt;Creating relationships&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20rules&amp;amp;referringTitle=Home"&gt;Creating rules&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Specifying%20actions&amp;amp;referringTitle=Home"&gt;Specifying actions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Assigning%20templates&amp;amp;referringTitle=Home"&gt;Assigning templates&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Compiling%20an%20entity%20project%20using%20esc&amp;amp;referringTitle=Home"&gt;Compiling an entity project using esc&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Visual%20Studio%20Integration&amp;amp;referringTitle=Home"&gt;Visual Studio Integration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Using%20your%20NBusiness%20objects&amp;amp;referringTitle=Home"&gt;Using your NBusiness objects&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Using%20the%20entity%20data%20source%20control&amp;amp;referringTitle=Home"&gt;Using the entity data source control&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Configuring%20NBusiness&amp;amp;referringTitle=Home"&gt;Configuring NBusiness&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Extending NBusiness&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20provider&amp;amp;referringTitle=Home"&gt;Creating your own provider&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20template&amp;amp;referringTitle=Home"&gt;Creating your own template&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Adding%20custom%20code&amp;amp;referringTitle=Home"&gt;Adding custom code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Extras&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Gold%20Parser%20Grammar&amp;amp;referringTitle=Home"&gt;Gold Parser Grammar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.justnbusiness.com/" class="externalLink"&gt;justnbusiness &lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; - An NBusiness developer blog&lt;/li&gt;&lt;li&gt;Futures&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Inheritance&amp;amp;referringTitle=Home"&gt;Entity Inheritance&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Models&amp;amp;referringTitle=Home"&gt;Entity Models&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Attributes&amp;amp;referringTitle=Home"&gt;Entity Attributes&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Partial%20Entities&amp;amp;referringTitle=Home"&gt;Partial Entities&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;Powered By NBusiness&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.pertnearsandstone.com/default.aspx" class="externalLink"&gt;Pert Near Sandstone&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.justnbusiness.com" class="externalLink"&gt;justnbusiness&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=9914" alt="Powered By NBusiness" /&gt; feel free to use &lt;a href="javascript:window.location.href='http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=9914';"&gt;this&lt;/a&gt; logo on your site!&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;Developers Wanted!&lt;/b&gt;&lt;br /&gt;We're looking for developers experienced with business object frameworks, code generation, ORM, compilers or unit testing. Furthermore we're seeking conversation on how best to define syntax for &amp;quot;Entity Languages&amp;quot; and the responsibilities of business objects. We are also looking for anyone experienced in Aspect Oriented Programming and Intentional Programming to help expand our minds and to help us incorporate those concepts as well as possible.&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt;If you would like to join the NBusiness team or contact the project lead send an email to &lt;a href="mailto:justncase80@gmail.com" class="externalLink"&gt;justncase80@gmail.com &lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Thu, 01 Nov 2007 13:30:16 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20071101013016P</guid></item><item><title>UPDATED WIKI: Entity Models</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity Models&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Entity Models
&lt;/h2&gt;Entity models allow you to specify which data and behviors of entities are to be used for a specific use case. Models must always inherit from entities but may not declare any new fields. Models may hide data and behaviors from the inhering entities and they may declare new behaviors.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Example:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
family Business
{
    entity A as EntityBase
    {
        field auto id int aid;
        field string Data;
        field nullable int Type;
    }
 
    family Usecase1
    {
        model B : A as EntityBase
        {
            hide field Type;
            
            validate Data customrule;
        }
    }
}
&lt;/pre&gt; &lt;br /&gt;See Also: &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Inheritance&amp;amp;referringTitle=Entity%20Models"&gt;Entity Inheritance&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Thu, 01 Nov 2007 04:04:15 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Entity Models 20071101040415A</guid></item><item><title>UPDATED WIKI: Entity Models</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity Models&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Entity Models
&lt;/h2&gt;Entity models allow an architect to specify which data and behviors of entities are to be used for a specific use case. Models must always inherit from entities but may not declare any new fields. Models may hide data and behaviors from the inhering entities and they may declare new behaviors.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Example:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
family Business
{
    entity A as EntityBase
    {
        field auto id int aid;
        field string Data;
        field nullable int Type;
    }
 
    family Usecase1
    {
        model B : A as EntityBase
        {
            hide field Type;
            
            validate Data customrule;
        }
    }
}
&lt;/pre&gt; &lt;br /&gt;See Also: &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Inheritance&amp;amp;referringTitle=Entity%20Models"&gt;Entity Inheritance&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Thu, 01 Nov 2007 04:03:55 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Entity Models 20071101040355A</guid></item><item><title>UPDATED WIKI: Entity Inheritance</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity Inheritance&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Entity Inheritance
&lt;/h2&gt;Inheritance is the way to express 1:1 relationships and provide data and behavior sharing between entities.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Here is an example of how entity inheritance might work:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
family Business
{
    entity A as EntityBase
    {
        field auto id int aid;
        field nullable string Data;
        field datetime Date;
    }
 
    entity B : A on aid=bid as EntityBase
    {
        field id bid;
        field string BData;
    }
    
    entity C : A on aid=cid as EntityBase
    {
        field id cid;
        hide field Data;
        field string CData;
    }
}
&lt;/pre&gt; &lt;br /&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; A Members &lt;/th&gt;&lt;th&gt; B Members &lt;/th&gt;&lt;th&gt; C Members &lt;/th&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; aid &lt;/td&gt;&lt;td&gt; bid &lt;/td&gt;&lt;td&gt; cid &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; Data &lt;/td&gt;&lt;td&gt; Data &lt;/td&gt;&lt;td&gt; Date &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; Date &lt;/td&gt;&lt;td&gt; Date &lt;/td&gt;&lt;td&gt; CData &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt;  &lt;/td&gt;&lt;td&gt; BData &lt;/td&gt;&lt;td&gt;  &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; &lt;br /&gt;&lt;h3&gt;
Restrictions
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;The &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=hide&amp;amp;referringTitle=Entity%20Inheritance"&gt;hide&lt;/a&gt; keyword would only be valid on entities that inherit from other entities and can only be applied to &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=nullable&amp;amp;referringTitle=Entity%20Inheritance"&gt;nullable&lt;/a&gt; fields or relationships that rely on nullable fields. &lt;/li&gt;&lt;li&gt;The classes generated for B &amp;amp; C would not litterally inherit from A but the stored procedures generated would use Joins between the B &amp;amp; C tables to join with A to retrieve the non-hidden data based on the key's specified in the inheritance specifier. &lt;/li&gt;&lt;li&gt;It is not possible to inherit from multiple entities but it is possible to chain inheritance over N entities deep (Meaning D could inherit from C or B). &lt;/li&gt;&lt;li&gt;You must use a &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=using&amp;amp;referringTitle=Entity%20Inheritance"&gt;using&lt;/a&gt;, or full &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=family&amp;amp;referringTitle=Entity%20Inheritance"&gt;family&lt;/a&gt; name of an &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=entity&amp;amp;referringTitle=Entity%20Inheritance"&gt;entity&lt;/a&gt; for sideways or deeper inheritance.&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;See Also: &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Models&amp;amp;referringTitle=Entity%20Inheritance"&gt;Entity Models&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Thu, 01 Nov 2007 04:02:40 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Entity Inheritance 20071101040240A</guid></item><item><title>UPDATED WIKI: Entity Models</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity Models&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Entity Models
&lt;/h2&gt;Entity models allow an architect to specify which data and behviors of entities are to be used for a specific use case. Models must always inherit from entities but may not declare any new fields. Models may hide data and behaviors from the inhering entities and they may declare new behaviors.&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Example:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
family Business
{
    entity A as EntityBase
    {
        field auto id int aid;
        field string Data;
        field nullable int Type;
    }
 
    family Usecase1
    {
        model B : A as EntityBase
        {
            hide field Type;
            
            validate Data customrule;
        }
    }
}
&lt;/pre&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Thu, 01 Nov 2007 03:56:44 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Entity Models 20071101035644A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Home&amp;version=35</link><description>&lt;div class="wikidoc"&gt;
&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;NBusiness: An Entity Oriented Programming Library&lt;/b&gt;&lt;br /&gt;&lt;i&gt;A .net Entity Language Provider, E# compiler and business object framework&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;NBusiness features an Entity Definition Language known as E# (E Sharp). E is for Entity and # is a reference to C#, from which its syntax is based.&lt;br /&gt; &lt;br /&gt;The Entity Definition Language (EDL) focuses not on objects, or business objects, but instead on 'Entities'. An Entity may actually be made up of many objects however the exact implementation of those objects is not a concern of Entity Definition Languages. EDL focuses instead on higher level concepts such as Relationships between Entities, Business Rules and Responsibilities of Entities. EDL must specify data field information for Entities, however data access is not a concern of EDL.&lt;br /&gt; &lt;br /&gt;NBusiness includes some default templates and a light weight Business Object framework for providing the default functionality of the E# compiler.&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;In Plain English&lt;/b&gt;&lt;br /&gt;So what the heck does all of this mean? Well, essentially NBusiness is just another code generator specializing in creating data access layers. There are plenty of other projects with a similar goal (&lt;a href="http://www.codesmithtools.com/" class="externalLink"&gt;Code Smith&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://www.adapdev.com/codus/" class="externalLink"&gt;Codus&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://subsonicproject.com/" class="externalLink"&gt;SubSonic&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, etc.) but NBusiness differentiates itself with a few distinct points.&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Your meta-data is E# rather than XML.&lt;/li&gt;&lt;li&gt;Your meta-data is the &lt;a href="http://justnbusiness.blogspot.com/2007/06/nearing-v20-release.html" class="externalLink"&gt;source of truth&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; NOT the database.&lt;/li&gt;&lt;li&gt;NBusiness supports business objects, not just data access.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20template&amp;amp;referringTitle=Home" class="externalLink"&gt;Object oriented templates.&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Visual Studio Integration (&lt;a href="http://www.codeplex.com/NBusiness/Release/ProjectReleases.aspx?ReleaseId=3900" class="externalLink"&gt;v2.0&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://www.justnbusiness.com/uploads/images/nbusiness-vsintegration.png" class="externalLink"&gt;screenshot&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;More Information&lt;/b&gt;&lt;br /&gt;To get more information about NBusiness please visit the other areas of our wiki pages:&lt;br /&gt; &lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Frequently%20Asked%20Questions%20%28FAQ%29&amp;amp;referringTitle=Home"&gt;Frequently Asked Questions (FAQ)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Getting%20Started&amp;amp;referringTitle=Home"&gt;Getting Started&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Project documentation&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=A%20simple%20entity&amp;amp;referringTitle=Home"&gt;A simple entity&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20relationships&amp;amp;referringTitle=Home"&gt;Creating relationships&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20rules&amp;amp;referringTitle=Home"&gt;Creating rules&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Specifying%20actions&amp;amp;referringTitle=Home"&gt;Specifying actions&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Assigning%20templates&amp;amp;referringTitle=Home"&gt;Assigning templates&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Compiling%20an%20entity%20project%20using%20esc&amp;amp;referringTitle=Home"&gt;Compiling an entity project using esc&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Visual%20Studio%20Integration&amp;amp;referringTitle=Home"&gt;Visual Studio Integration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Using%20your%20NBusiness%20objects&amp;amp;referringTitle=Home"&gt;Using your NBusiness objects&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Using%20the%20entity%20data%20source%20control&amp;amp;referringTitle=Home"&gt;Using the entity data source control&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Configuring%20NBusiness&amp;amp;referringTitle=Home"&gt;Configuring NBusiness&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Extending NBusiness&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20provider&amp;amp;referringTitle=Home"&gt;Creating your own provider&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Creating%20your%20own%20template&amp;amp;referringTitle=Home"&gt;Creating your own template&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Adding%20custom%20code&amp;amp;referringTitle=Home"&gt;Adding custom code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;Extras&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Gold%20Parser%20Grammar&amp;amp;referringTitle=Home"&gt;Gold Parser Grammar&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;li&gt;&lt;a href="http://www.justnbusiness.com/" class="externalLink"&gt;justnbusiness &lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; - An NBusiness developer blog&lt;/li&gt;&lt;li&gt;Futures&lt;/li&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Inheritance&amp;amp;referringTitle=Home"&gt;Entity Inheritance&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity%20Models&amp;amp;referringTitle=Home"&gt;Entity Models&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;Powered By NBusiness&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.pertnearsandstone.com/default.aspx" class="externalLink"&gt;Pert Near Sandstone&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.justnbusiness.com" class="externalLink"&gt;justnbusiness&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=9914" alt="Powered By NBusiness" /&gt; feel free to use &lt;a href="javascript:window.location.href='http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=9914';"&gt;this&lt;/a&gt; logo on your site!&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt; &lt;b&gt;Developers Wanted!&lt;/b&gt;&lt;br /&gt;We're looking for developers experienced with business object frameworks, code generation, ORM, compilers or unit testing. Furthermore we're seeking conversation on how best to define syntax for &amp;quot;Entity Languages&amp;quot; and the responsibilities of business objects. We are also looking for anyone experienced in Aspect Oriented Programming and Intentional Programming to help expand our minds and to help us incorporate those concepts as well as possible.&lt;br /&gt; &lt;br /&gt;&lt;img src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=NBusiness&amp;amp;DownloadId=5242" alt="NBusiness" /&gt;If you would like to join the NBusiness team or contact the project lead send an email to &lt;a href="mailto:justncase80@gmail.com" class="externalLink"&gt;justncase80@gmail.com &lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Thu, 01 Nov 2007 03:47:41 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20071101034741A</guid></item><item><title>UPDATED WIKI: Entity Inheritance</title><link>http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=Entity Inheritance&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
&lt;h2&gt;
Entity Inheritance
&lt;/h2&gt;Inheritance is the way to express 1:1 relationships between relational models. &lt;br /&gt; &lt;br /&gt;&lt;b&gt;Here is an example of how entity inheritance might work:&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;
family Business
{
    entity A as EntityBase
    {
        field auto id int aid;
        field nullable string Data;
        field datetime Date;
    }
 
    family Usecase1
    {
        entity B : A on aid=bid as EntityBase
        {
            field id bid;
            field string BData;
        }
    }
    family Usecase2
    {
        entity C : A on aid=cid as EntityBase
        {
            field id cid;
            hide field Data;
            field string CData;
        }
    }
}
&lt;/pre&gt; &lt;br /&gt;In this case A would have the members:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;aid&lt;/li&gt;&lt;li&gt;Data&lt;/li&gt;&lt;li&gt;Date&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;B would have the members:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;bid&lt;/li&gt;&lt;li&gt;Data&lt;/li&gt;&lt;li&gt;Date&lt;/li&gt;&lt;li&gt;BData&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;C would have the members:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;cid&lt;/li&gt;&lt;li&gt;Date&lt;/li&gt;&lt;li&gt;CData&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;Restrictions&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;The &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=hide&amp;amp;referringTitle=Entity%20Inheritance"&gt;hide&lt;/a&gt; keyword would only be valid on entities that inherit from other entities and can only be applied to &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=nullable&amp;amp;referringTitle=Entity%20Inheritance"&gt;nullable&lt;/a&gt; fields or relationships that rely on nullable fields. &lt;/li&gt;&lt;li&gt;The classes generated for B &amp;amp; C would not litterally inherit from A but the stored procedures generated would use Joins between the B &amp;amp; C tables to join with A to retrieve the non-hidden data based on the key's specified in the inheritance specifier. &lt;/li&gt;&lt;li&gt;It is not possible to inherit from multiple entities but it is possible to chain inheritance over N entities deep (Meaning D could inherit from C or B). &lt;/li&gt;&lt;li&gt;You must use a &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=using&amp;amp;referringTitle=Entity%20Inheritance"&gt;using&lt;/a&gt;, or full &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=family&amp;amp;referringTitle=Entity%20Inheritance"&gt;family&lt;/a&gt; name of an &lt;a href="http://www.codeplex.com/NBusiness/Wiki/View.aspx?title=entity&amp;amp;referringTitle=Entity%20Inheritance"&gt;entity&lt;/a&gt; for sideways or deeper inheritance.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>justinc</author><pubDate>Tue, 30 Oct 2007 20:52:36 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Entity Inheritance 20071030085236P</guid></item></channel></rss>