Here are some of the core posts for CSLA 3.5:
Another place where I was able to reduce business object code in CSLA .NET 3.5 was to effectively eliminate the GetIdValue() method.
Prior to version 3.5, GetIdValue() was required, and you had to provide a unique value identifying your object. This value was used to implement Equals() and GetHashCode(), and was used as the ToString() value. This was good, because it enabled the concept of logical equality, where objects were equal to each other based on their id value.
One of my primary goals with CSLA .NET 3.5 was to reduce the amount of code necessary for common business object tasks - like declaring a property or implementing a parent-child relationship. I've mentioned what I'm doing on the forum and elsewhere, but I thought a summary blog post would be nice. I'm motivated, because I spent some time earlier today upgrading some business object code based on CSLA 3.0.3 to 3.5 and it was just fun to watch the class shrink 
In a previous post I talked about the new property declaration syntax options in CSLA .NET 3.5. When it comes to child objects, if the shortest form is used then CSLA will pretty much completely take care of all parent-child object interaction so you don't have to do it by hand. This is a tremendous code savings!
Version 3.5.0 change log
Version 3.5.1 change log
Show #330 | 4/3/2008 (62 minutes)
Rocky Lhotka on CSLA.NET 3.5
Rocky is back on .NET Rocks! to talk about the latest iteration of his CSLA.NET Application Framework, as well as to talk about some .NET technologies that are no longer as necessary as they once were.
Great Thread on the new Child object functionality.
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); }
}