RobM wrote:
Would I just use Activator.GetObject on the database specific objects from the presentation tier?
Sorry for being so slow on this.
No you don't need that. In the presentation layer you have a reference to the database generic project, which contains the entities.
So you can just do:
CustomerEntity customer = _businessTier.GetCustomer(customerID);
and _businessTier is the object which represents the BL service. The GetCustomer method would simply return a new customer entity, filled with the data belonging to the customer with the ID passed in.
Because the entities are fully serializable through binary / soap remoting, this is fully transparent. In the presentation layer, you now work with the 'customer' object, which doesn't have any persistence logic methods in it, so if you for example want to save it again, you have to call for example:
_businessTier.SaveCustomer(customer);
and you pass in the CustomerEntity object.
In the GetCustomer method, which is in the business logic tier, you have a reference to the database specific project, which contains the DataAccessAdapter class. This class makes it possible to read/write with the database.