I have been playing with CSLA.NET for the past few months. I will be posting reviews to several code generators over the next few weeks.
I currently own Code Complete and Code Breeze. Code Complete has a pending update in the works that will support CSLA 3.5
So far, I have been displeased with Code Complete. The attempted focus on "Complete Application" Generation seems to distract from the goal of quality CSLA object Generation.
I picked up Code Breeze a few days ago and I think it is going to be a complete replacement for Code Complete".
Within a few minutes, I was able to start upgrading my templates to CSLA 3.5. I should have them done this afternoon. I prefer the "ASP" sytle of code generation versus the XSLT style of generation. I have to admit, it is much more approachable. and readable.
Snippet:
This is the property creation of a Switchable Root Object. As you can see, the code it almost identical to the original code from the CSLA 3.5 template.
<%For Each o_Field As EntityField In _Project.BusinessEntities.FindByEntity(EntityName).Fields%>
private static PropertyInfo< <%=DataMapping(o_Field.DataType)%>> IdProperty = RegisterProperty< <%=DataMapping(o_Field.DataType)%>>(typeof( <%=DataMappin(o_Field.DataType)%>), new PropertyInfo< <%=DataMapping(o_Field.DataType)%>>(" <%=o_Field.FieldName%>"));
<%If o_Field.IsID Then%>
[System.ComponentModel.DataObjectField(true, true)]<%End If%>
public <%=DataMapping(o_Field.DataType)%> <%=o_Field.FieldName%>
{
get { return GetProperty<<%=DataMapping(o_Field.DataType)%>>(<%=o_Field.FieldName%>Property); }
set { SetProperty<<%=DataMapping(o_Field.DataType)%>>(<%=o_Field.FieldName%>Property, value); }
}