I’m using the following code within the JCProperty class to retrieve data from a DAL:
Dim x As JCProperty x = JCPropertyDB.GetProperty(PropertyID) If Not x Is Nothing Then Me.PropertyID = x.PropertyID Me.AddressLine1 = x.AddressLine1 Me.AddressLine2 = x.AddressLine2 Me.AddressLine3 = x.AddressLine3 Me.AddressCity = x.AddressCity Me.AddressCounty = x.AddressCounty Me.AddressPostcode = x.AddressPostcode Me.TelNo = x.TelNo Me.UpdatedOn = x.UpdatedOn Me.CreatedOn = x.CreatedOn Me.Description = x.Description Me.GUID = x.GUID End If
This works fine but requires that the DAL object (JCPropertyDB) is aware of the business object (JCProperty) and I effectively create and populate the same object twice (once in the DAL to return to the BL and then again within the BL object to populate itself).
I’m missing something here, I know there must be a better way!
Effectively I need to assign ‘Me = x’ which is not allowed. Can someone put me straight?
Personally, I’m lazy. I usually do something like:
Then you’re basically done, until you have some additional functionality in the JCProperty class that needs to happen ‘on top’ of the functionality already existing in JCPropertyDB. Then you override the JCPropertyDB methods to call the base method first then add your new functionality.
Ron