Features
By Stephan Meyn
Thursday, October 23, 2003
V0.5 features
- enhanced XSD support: previously it would only process XML files that had been autogenerated by VS.NET after generating a Dataset. Now it is possible to read an XSD file that has been edited it by hand in VS.NET.
- Count method : provides a count of all instances for one entity
- GetAll methods: for each entity you can now get all instances
V0.4 features
- Typed Collections: for each entity a collection and a dictionary are generated
- IEditableObject support: option to generate the implementation of this interface. Great for use with WinForms
- GetForAll methods: where foreign keys are defined, appropriate methods are generated to select a collection of instances that satisfy the foreign key
- Optimistic Update checking: when Update is called, the code will now check if the update has not collided with another update from another application (multi user situation using remoting only). Autonumber id: if the table has a single primary key and it is a decimal then I generate a mechanism for autogenerated primary keys.
- Multiple Attribute Primary keys: it is possible to have a primary key made up out of multiple attributes
- Remoting support
- Loosely Coupled Relationships
If there is a foreign key defined Bamboo Builder will generate a 'GetForAll' getter of the kind of:
ContactDetail[] AllContactDetailsForOffice(int officeId)Multi-User Access is here
Bamboo really comes into shine when it supports multiple users across remoting mechanisms. For that automated detection of update collisions must be implemented. A basic implementation exists that tracks the number of updates. If a version is passed in as an argument to an update call the update count is compared with the update count in the stored version. If the stored version's update count is larger an UpdateCountException is raised.
Note: Bamboo multi user access works only via a server concept. a Microsoft Access style file based multi-user support is not possible.