We have been working on a major update to the Generator CSLA Templates to support Views and Stored Procedures as well as CSLA 4.3. The following document will show you how you can take advantage of generating against stored procedures and views by updating your existing templates. Please note that the latest CSLA templates require Generator 6.0.3!
Updating the Entities template output
The quickest way to add support for generating against a view or stored procedure is to update the entities template output by using Manage Outputs. Once the Entities template output is open, check the IncludeFunctions and IncludeViews properties.
We decided against breaking backwards compatibility with the Entities output, this saves you from having to reconfigure all of your outputs in the new release. To select what Business Object Type a specific view or stored procedure should be generated as, you will need to add an Extended Property to the view or stored procedure.
Here is a list of the valid Extended Property names that can be added to a view or stored procedure.
Extended Property Name | Extended Property Value | Business Object Type |
DynamicRoot | Dynamic Root | |
EditableChild | Editable Child | |
EditableRoot | Editable Root | |
ReadOnlyChild | Read Only Child | |
ReadOnlyRoot | Read Only Root | |
SwitchableObject | Switchable Object | |
DynamicRootList | Dynamic Root List | |
EditableRootList | Editable Root List | |
DynamicListBase | Dynamic List Base | |
EditableChildList | Editable Child List | |
ReadOnlyList | Read Only List | |
ReadOnlyChildList | Read Only Child List | |
NameValueList | Name Value List |
After you have configured this extended property, all you need to do is regenerate!
Adding a custom output
One can also generate against a view or stored procedure by adding a new template output to a CodeSmith Generator Project File. Once you select "Add Output" browse for one of the 14 business object master templates located inside of the CSharp\ BusinessLayer \ or VisualBasic\BusinessLayer\ folders. Next, populate one of the SourceCommand, SourceTable or SourceView properties to generate a business object against this datasource.
Finally, click save and regenerate!