﻿<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>StrataFrame Forum » StrataFrame Application Framework - V1 » Business Objects and Data Access (How do I?)  » BO default properties</title><generator>InstantForum 2017-1 Final</generator><description>StrataFrame Forum</description><link>http://forum.strataframe.net/</link><webMaster>StrataFrame Forum</webMaster><lastBuildDate>Mon, 25 May 2026 23:25:49 GMT</lastBuildDate><ttl>20</ttl><item><title>BO default properties</title><link>http://forum.strataframe.net/FindPost6705.aspx</link><description>Hi,&lt;/P&gt;&lt;P&gt;Is there any way of changing the 'default property values' when a new BO is created? For example the default AllowNullValuesOnNewRows is False and it&amp;nbsp;may be that, in most cases, we would like that value to be True in which case it would be useful if we could have all new BO's start with a AllowNullValuesOnNewRows&amp;nbsp;of True.&lt;/P&gt;&lt;P&gt;Cheers, Peter&amp;nbsp;</description><pubDate>Thu, 12 Apr 2007 09:01:40 GMT</pubDate><dc:creator>Peter Jones</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost8090.aspx</link><description>Peter,&lt;/P&gt;&lt;P&gt;The base bo is going to appear in the business object mapper... I don't think there's a way around that.&amp;nbsp; However, you can add the &amp;lt;HideFromExtensibility()&amp;gt; attribute to the top of your class to keep it from showing up in other places, like the PopulationDataSourceSettings editors, and things like that.&lt;/P&gt;&lt;P&gt;As for why your other should could not be designed... that's a VS thing.&amp;nbsp; When you add a new component to your solution, sometimes, the type will not be available to the VS type resolution service until you close VS and reopen it.&amp;nbsp; So, the next time you add a new base bo class: add it, build your solution, close VS, and reopen VS and you should be alright.&amp;nbsp; It's the same problem that occurs when you add a new control or business object and try to drop it from the toolbox immediately after building; sometimes it works fine, but sometimes VS gives you the error saying that the type "classname" instantiation failed and that it will be removed from the toolbox.&amp;nbsp; Same silly issue, just close VS and reopen it.</description><pubDate>Thu, 12 Apr 2007 09:01:40 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost8082.aspx</link><description>Hi Trent,&lt;/P&gt;&lt;P&gt;Well doing the same as above in new Solution works just fine so I will leave that apparently corrupted Solution behind and move on. However I would appreciate some feedback on my "base bo" appearing in the BO Mapper (this also happens in my new Solution). Is this to be expected? Should I just ignore it?&lt;/P&gt;&lt;P&gt;Cheers, Peter</description><pubDate>Wed, 11 Apr 2007 20:51:47 GMT</pubDate><dc:creator>Peter Jones</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost8080.aspx</link><description>Hi Trent,&lt;/P&gt;&lt;P&gt;Maybe something has can astray in my environment. Here is what I have just done:&lt;/P&gt;&lt;P&gt;&lt;BR&gt;1. Created a Windows class, called it boBase03 and copied in your code and changed the classes internal name to boBase03.&lt;/P&gt;&lt;P&gt;2. Did a rebuild.&lt;/P&gt;&lt;P&gt;2. Created a new BO (BusinessObject2) and mapped it to a simple table and did a partial rebuild with the new BO.&lt;/P&gt;&lt;P&gt;3. Opening up the new BO in the IDE and no problems - could toggle ok between the BusinessObject2.vb and BusinessObject2.vb[Design] tabs. Also opened its Designer file - no problems.&lt;/P&gt;&lt;P&gt;4. Did a rebuild.&lt;/P&gt;&lt;P&gt;5. Opened my new BO and changed the inherits line to: Inherits TMS_Test_01.boBase03&lt;/P&gt;&lt;P&gt;6. Did a rebuild.&lt;/P&gt;&lt;P&gt;7. Click on the BussinessObject2.vb[Design] tab in the IDE and received the following error (same as before).&lt;/P&gt;&lt;P&gt;8. Changes the inheritance back to: Inherits MicroFour.StrataFrame.Business.BusinessLayer.&lt;/P&gt;&lt;P&gt;9. Did a rebuild.&lt;/P&gt;&lt;P&gt;10. Everything is ok.&lt;/P&gt;&lt;P&gt;11. Closed all tabs.&lt;/P&gt;&lt;P&gt;12. Opened BusinessObject02 and changed the inheritance back to: Inherits TMS_Test_01.boBase03&lt;/P&gt;&lt;P&gt;13. Clicked the BusinessObject2.vb[Design] and tab and again the same error appears.&lt;/P&gt;&lt;P&gt;&lt;BR&gt;Trent, what I did notice is that my standard (base BO - "boBase03") Windows class that now contains the code you provided also appears in the BO Mapper with the red (must be configured) cross symbol. I didn't do anything with it in BO Mapper but is this expected?&lt;/P&gt;&lt;P&gt;I will try repeating these tests in a new Solution.&lt;/P&gt;&lt;P&gt;Cheers, Peter&lt;/P&gt;&lt;P&gt;&lt;BR&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;BR&gt;The designer could not be shown for this file because none of the classes within it can be designed. The &lt;/P&gt;&lt;P&gt;designer inspected the following classes in the file: BusinessObject2 --- The base class 'TMS_Test_01.boBase03' &lt;/P&gt;&lt;P&gt;could not be loaded. Ensure the assembly has been referenced and that all projects have been built. &lt;BR&gt;Hide&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;at &lt;/P&gt;&lt;P&gt;System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager &lt;/P&gt;&lt;P&gt;manager)&lt;BR&gt;at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager &lt;/P&gt;&lt;P&gt;manager)&lt;BR&gt;at &lt;/P&gt;&lt;P&gt;Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationM&lt;/P&gt;&lt;P&gt;anager serializationManager)&lt;BR&gt;at System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host) &lt;BR&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;</description><pubDate>Wed, 11 Apr 2007 20:25:28 GMT</pubDate><dc:creator>Peter Jones</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost8077.aspx</link><description>Hi Trent,&lt;/P&gt;&lt;P&gt;Thanks for the very prompt response. I've used your code and I still have the same problem - but at least I now know that part&amp;nbsp;of the puzzle is according to&amp;nbsp;Hoyle&amp;nbsp;so I can now try and track down the problem in other areas.&lt;/P&gt;&lt;P&gt;Cheers, Peter</description><pubDate>Wed, 11 Apr 2007 18:40:51 GMT</pubDate><dc:creator>Peter Jones</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost8073.aspx</link><description>Here is a custom BO class that is inherited from the SF business layer.&amp;nbsp; I have just created this, tested it, created a new BO, and mapped to it and it works as advertised :D&lt;/P&gt;&lt;P&gt;[codesnippet]Public Class MyCustomBO&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inherits MicroFour.StrataFrame.Business.BusinessLayer&lt;BR&gt;#Region " Constructors "&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub New(ByVal Container As System.ComponentModel.IContainer)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyBase.New(Container)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub New()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyBase.New()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyBase.New(info, context)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;#End Region&lt;BR&gt;End Class[/codesnippet]</description><pubDate>Wed, 11 Apr 2007 17:47:39 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost8068.aspx</link><description>&lt;BR&gt;Hi Trent,&lt;/P&gt;&lt;P&gt;Ok - the problem I have is that when I create my base class as a Windows class (TMS_Test_01.boBase02) I get the following error in my&amp;nbsp;SF BO's that inherit from it. There is no Designer file for TMS_Test_01.boBase02 and this made me think that maybe it should have been created using the SF Business Object template.&lt;/P&gt;&lt;P&gt;All my classes are in a single Solution so I can't see that it can be a referencing issue and the solution has been cleaned/rebuild many times.&lt;/P&gt;&lt;P&gt;My class starts with the code:&lt;/P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;Imports&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Data&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;Imports&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Data.SqlClient&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;Imports&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; System.Runtime.Serialization&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&lt;P&gt;Public&lt;/FONT&gt;&lt;FONT color=#000000 size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Class&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#000000&gt; boBase02&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;Inherits&lt;/FONT&gt;&lt;FONT size=2&gt; MicroFour.StrataFrame.Business.BusinessLayer&lt;/P&gt;&lt;/FONT&gt;&lt;P&gt;Cheers, Peter&lt;/P&gt;&lt;P&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&lt;BR&gt;The designer could not be shown for this file because none of the classes within it can be designed. The designer inspected the following classes in the file: boAGT2 --- The base class 'TMS_Test_01.boBase02' could not be loaded. Ensure the assembly has been referenced and that all projects have been built. &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.EnsureDocument(IDesignerSerializationManager manager)&lt;BR&gt;at System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)&lt;BR&gt;at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)&lt;BR&gt;at Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.DeferredLoadHandler.Microsoft.VisualStudio.TextManager.Interop.IVsTextBufferDataEvents.OnLoadCompleted(Int32 fReload) &lt;BR&gt;</description><pubDate>Wed, 11 Apr 2007 17:02:51 GMT</pubDate><dc:creator>Peter Jones</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost8054.aspx</link><description>[quote]Do I take this to mean that my "base" BO is just a standard Windows class, i.e. not something I create using the SF Business Object template.[/quote]&lt;/P&gt;&lt;P&gt;Not unless you want to re-write the entire business layer logic, which would be a bit involed :D&amp;nbsp; Actually, what Ben is referring to is you will create a standard Windows class, then inherit that class off of the MicroFour.StrataFrame.Business.BusinessLayer class.&lt;/P&gt;&lt;P&gt;[codesnippet]Public Class MyBOClass&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inherits MicroFour.StrataFrame.Business.BusinessLayer&lt;BR&gt;&lt;BR&gt;'-- Add your logic here&lt;BR&gt;&lt;BR&gt;End Class[/codesnippet]&lt;/P&gt;&lt;P&gt;Then, you can do one of two things when creating a new BO.&amp;nbsp; 1.) Use the standard SF Business Object template to create your class.&amp;nbsp; Then open the class and replace the Inherits statement from the BusinessLayer to your BO class name (i.e. MyBOClass from above).&amp;nbsp; This way when you use the BO Mapper the fields will be created just as it normally would, but all of the inherited logic will remain. 2.)&amp;nbsp; You can create your own template that already has the inherits statement.</description><pubDate>Wed, 11 Apr 2007 08:15:14 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost8047.aspx</link><description>Hi Ben,&lt;/P&gt;&lt;P&gt;I thought I had this under control but I still have a few problems that I'm working through. I just want confirmation of something you said earlier: "So, if you create a "base" class for all of your business objects, you're not going to use the BOMapper to create fields on it because it's the base class.".&lt;/P&gt;&lt;P&gt;Do I take this to mean that my "base" BO is just a standard Windows class, i.e. not something I create using the SF Business Object template.&lt;/P&gt;&lt;P&gt;Cheers, Peter</description><pubDate>Wed, 11 Apr 2007 06:04:09 GMT</pubDate><dc:creator>Peter Jones</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost7979.aspx</link><description>Glad to hear it :)</description><pubDate>Mon, 09 Apr 2007 08:44:11 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost7926.aspx</link><description>Thanks Ben, I'm up and running, Peter</description><pubDate>Thu, 05 Apr 2007 18:34:56 GMT</pubDate><dc:creator>Peter Jones</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost7909.aspx</link><description>Ah, I see, the problem is stemming from the way that .NET handles constructors.... if you don't define a constructor in a class, .NET defines a default constructor with no parameters for it.&amp;nbsp; So, when you call MyBase.New(info, context), your inherited class cannot see through your BO base class to the constructors within BusinessLayer because a new constructor has been defined.&amp;nbsp; &lt;/P&gt;&lt;P&gt;So, do this... go ahead and create the constructors in your base class, but take out all of the code except the MyBase.New(...) call and the call to InitializeComponent().&amp;nbsp; Mainly just remove your call to AddHandlers() or else the business rules and default values events will be handled twice per class (that is of course if you don't want to put any default or rules checking code in the base class... if you do, then you'll want to leave the calls to AddHandlers() so that you can check them in both places.</description><pubDate>Thu, 05 Apr 2007 08:59:37 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost7905.aspx</link><description>Hi Ben,&lt;/P&gt;&lt;P&gt;Thanks for the responses - question 2 ok and question 3 big mistake on my part but ok now. However regarding question 1 you commented: "...you don't have to redefine it in the sub class. What I would recommend doing is remove the constructors completely from your "base" bo class."&lt;/P&gt;&lt;P&gt;Actually this what we have - refer to the MyBO class code in my previous message. Even with a "base" BO class such as the example (no&amp;nbsp;constructor code) we still get the same error. Am I misunderstanding your comment?&lt;/P&gt;&lt;P&gt;Cheers, Peter</description><pubDate>Wed, 04 Apr 2007 23:47:35 GMT</pubDate><dc:creator>Peter Jones</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost7892.aspx</link><description>Howdy, Peter,&lt;/P&gt;&lt;P&gt;You can have a public constructor (Public Sub New()) defined in a base class and you don't have to redefine it in the sub class.&amp;nbsp; What I would recommend doing is remove the constructors completely from your "base" bo class.&amp;nbsp; The reason for this is that you are going to be redefining them in your specific business object classes, so there's no need to have them both (and the template for a new BusinessObject includes the constructors).&lt;/P&gt;&lt;P&gt;On your second question, as long as the InitializeComponent() is called by all of the constructors in a class, then you can be pretty sure that it's going to be called.&amp;nbsp; The business objects are designed for the exact functionality you're describing... if you open the component designer for a business object, any property you set there will be placed within the InializeComponent() of that BO.&amp;nbsp; So, any instance of that BO that you create will have those values.&lt;/P&gt;&lt;P&gt;Any time you get a message that says "The class [class] must override the property 'property' because it derives from MicroFour.StrataFrame.Business.BusinessLayer" the property in question should be overriden within the partial class that is created by the BOMapper.&amp;nbsp; So, if you create a "base" class for all of your business objects, you're not going to use the BOMapper to create fields on it because it's the base class.&amp;nbsp; But since it's the base class, that's OK, because you won't be creating any instances of the base class directly; you'll just be inheriting it.&amp;nbsp; Therefore, any of your subclassed business objects will have overriden that field when the BOMapper generates their partial classes.&amp;nbsp; So, if you're getting that error, it's either because you didn't use the BOMapper on the business object, or you are trying to create an instance of your base class.</description><pubDate>Wed, 04 Apr 2007 08:50:10 GMT</pubDate><dc:creator>StrataFrame Team</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost7888.aspx</link><description>Hi Trent,&lt;/P&gt;&lt;P&gt;Just getting round to creating a base BO class for our apps. All is fine except I get the error: Too many arguements in Public Sub New() in the BO that inherits from our modified BO. This happens in the New overload:&lt;/P&gt;&lt;P&gt;Protected Sub New(ByVal info As SerializationInfo, ByVal context As StreamingContext)&lt;BR&gt;&amp;nbsp; MyBase.New(info, context)&lt;BR&gt;&amp;nbsp; 'This call is required by the Component Designer.&lt;BR&gt;&amp;nbsp; Me.InitializeComponent()&lt;BR&gt;&amp;nbsp; '-- Add the necessary handlers&lt;BR&gt;&amp;nbsp; Me.AddHandlers()&lt;BR&gt;End Sub&lt;/P&gt;&lt;P&gt;If I comment this overload out all is ok but being new to .Net/Subclassing etc I have no idea if this is ok or not. I realise this is not a StrataFrame issue and I'm not looking for a Subclassing 101 course but any insight would be appreciated.&lt;/P&gt;&lt;P&gt;However I do have a couple of StrataFrame specific questions.&lt;/P&gt;&lt;P&gt;&lt;BR&gt;My base BO sets default values for certain properties and a Private Sub InitializeComponent() section of code is created containing all the new property values. How do I make the BO, that inherits from my base BO, use the code in InitializeComponent so its own properties are initialised to the same values?&lt;/P&gt;&lt;P&gt;Part of the new code in the base BO is a generic data load. We enter a stored proc name into the "UpdateStoredProcedureName" property of the BO so we can have generic code for populating a BO when the parent form loads. The base BO for testing this approach just has the following code:&lt;/P&gt;&lt;P&gt;Public Class MyBO&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inherits MicroFour.StrataFrame.Business.BusinessLayer&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub FillBO(ByVal StoredProc As String)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If StoredProc.Length &amp;gt; 4 Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.FillByStoredProcedure(StoredProc)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'TO DO - log error and inform user&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Protected Overrides Sub OnParentFormLoading()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.FillBO(Me.UpdateStoredProcedureName)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;End Class&lt;/P&gt;&lt;P&gt;&lt;BR&gt;However, when my test form runs it throws the error:&lt;/P&gt;&lt;P&gt;ApplicationException&lt;BR&gt;&amp;nbsp;An error occurred while creating the main form&lt;BR&gt;TargetInvocationException&lt;BR&gt;&amp;nbsp;Exception has been thrown by the target of an invocation.&lt;BR&gt;NotImplementedException&lt;BR&gt;&amp;nbsp;The class [TMS_Test_01.BusinessObject1] must override the property 'TableName' since it derives from MicroFour.StrataFrame.Business.BusinessLayer.&lt;/P&gt;&lt;P&gt;Source&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : MicroFour StrataFrame UI&lt;/P&gt;&lt;P&gt;Stack Trace: &lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessLayer.get_TableName()&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessLayer.CreateInternalTable()&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessLayer.get__CurrentDataTable(Boolean IsSharedTable)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessBindingSource.AddBOHandlers()&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Business.BusinessBindingSource.set_BusinessObject(BusinessLayer value)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at TMS_Test_01.Form5.InitializeComponent() in C:\Documents and Settings\pmj\My Documents\Visual Studio 2005\Projects\TMS_Test_01\TMS_Test_01\Form5.Designer.vb:line 99&lt;BR&gt;&amp;nbsp;&amp;nbsp; at TMS_Test_01.Form5..ctor()&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean&amp;amp; canBeCached, RuntimeMethodHandle&amp;amp; ctor, Boolean&amp;amp; bNeedSecurityCheck)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Activator.CreateInstance(Type type, Boolean nonPublic)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes)&lt;BR&gt;&amp;nbsp;&amp;nbsp; at MicroFour.StrataFrame.Application.StrataFrameApplication.RunApplication()&lt;/P&gt;&lt;P&gt;Line 99 in Form5 reads:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Me.BusinessBindingSource1.BusinessObject = Me.BusinessObject11&lt;/P&gt;&lt;P&gt;&lt;BR&gt;I can see that TableName is an overrideable property but I have no idea what I should be doing here.&lt;/P&gt;&lt;P&gt;Cheers, Peter&lt;/P&gt;&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;</description><pubDate>Wed, 04 Apr 2007 00:52:01 GMT</pubDate><dc:creator>Peter Jones</dc:creator></item><item><title>RE: BO default properties</title><link>http://forum.strataframe.net/FindPost6720.aspx</link><description>You can create your own BusinessLayer by subclassing the StrataFrame BusinessLayer.&amp;nbsp; The Inherits is added in the primary class and not the designer file.&amp;nbsp; The reason for this is exactly as you have described.&amp;nbsp; You can subclass our BusinessLayer and then when you create a new BO, change the inherits one time.&amp;nbsp; This will never be overwritten since the inherits statement is not in the file that gets modified by the BO Mapper.&lt;/P&gt;&lt;P&gt;[codesnippet]Public Class MyBusinessLayer&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inherits MicroFour.StrataFrame.Business.BusinessLayer&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; '-- Overwrite any behavior here or change default values&lt;BR&gt;End Class[/codesnippet]</description><pubDate>Mon, 12 Feb 2007 10:41:53 GMT</pubDate><dc:creator>Trent L. Taylor</dc:creator></item></channel></rss>