Csla Designer & Code GeneratorThis is a contribution to Rocky Lhotkas CLSA.NET Framework to help speed up enterprise software development based on this framework: http://www.lhotka.net/cslanet/ The Extension will generate CSLA code with dataportal stubs. Editable or ReadOnly types are implemented. Classes in the designer can be generated out of Oracle Database Informations. You select tables from the database and it will draw a class in the diagram per table. From referential integrity constraints in the database unidirectionals associations will be generated. Based on the associations correspondant navigational Properties and CSLA Child or Lists will be generated.
How to use this: In your solution add new item:
Add a CSLA Designer Item and give it a name:
An empty Diagram wil open:
You can draw a class diagramm with the toolbox or you can add objects via context menu from a database
You login (Just the first time):
And select the tables: And their columns You can change Namespace, names etc. here. From this it will generate the classes and association from the referential integrity constraints (All of it could be manually drawn from the toolbox too): The association will generate a CSLA list class (Because of the OneMany) and a navigation property of that type and the name "HasArticleDescriptions" from the association role. If the association is one to one the list will not be generated Check out the Properties of the class and attributes: they control how the code will be generated. I added some properties like Editable Business Object etc. Attribute Properties (Friendly Name, Generate Propertiy) etc are used to generate the CSLA properties and rules You can refine this diagram with comments and association links and other tools from the toolbox. As soon as you save the diagram there is some CSLA code generation:
CSLABusiness Object
Business Rules from database constraints
Navigational Property will be generated
Dataportal fetch of the navigational Property will be generated and someout commented Stub Implementation
This tool should help to develop CSLA Apps and on the other hand be some visual representation of your code. |