This project has moved and is read-only. For the latest updates, please go here.

Why would I use CslaGenFork?

  • It's the easiest way to start working with CSLA.NET
  • It has a proper installer that makes it easy for starters
  • It has a very very easy support for installing the free CodeSmith DLL (CodeSmith license compliant)
  • It allows you to configure the templates directory location
  • It generates Silverlight and asynchronous methods [ Technical Note ]
  • It generates Encapsulated Invoke model with a separated DAL
  • It handles DeepData scenarios (data graphs N level deep) including DeepLoad (one DB query to fecth all the data in a single round trip)
  • It generates Unit of Work classes for Creator, Getter and Creator-getter patterns (this is most useful in asynchronous scenarios like Silverlight)
  • It tryes very hard to make your life easier on the usability side
    • property grid rows are hidden according to context (if it's useless, don't show it)
    • property grid rows are hidden for disabled features (less visual mess)
    • property grids sorted in a logical way (less browsing)
    • disabled buttons and options when you can't use them (less error MessageBox)
    • comprehensive tooltips available on all projects settings (less guessing)
    • footer helpers available on all property grids that explain whatever there is to explain (even less guessing)
    • extensive use of drop down list to narrow your choices wherever you must select an object, but not any object (less mistakes)
    • auto sized popups that grow as large as it's needed to fit the property grid (less mouse clicks)
    • criteria property grids that are always unfolded/expanded (even less mouse clicks)
    • smart handling of Csla Objects panel list (less time lost in selecting and re-selecting)
    • full set of gestures for object and collection creation from table schema [ Cheat Sheet ]
  • It supports the "new" (as per VS 2008 book) Dynamic stereotypes
  • It supports the "new" TransactionManager and ConnectionManager as well as the "new" Linq context and Entity Framework context
  • It supports the "new" Child DataPortal methods
  • It generates full documentation of classes and public methods (and smart documentation too!)
  • It supports "hands off" SimpleAuditing (created by, changed by, etc)
  • It supports "hands off" SoftDelete (mark inactive and never see it again as if it was deleted from the database)
  • It allows caching of NameValueList and extends it to ReadOnly objects
  • It improves the cache to the server side DataPortal_Fetch so you only hit the database once
  • It supports object level RBAC and property level RBAC (Role Based Access Control)
  • It imports Authorization and Business Rules from DLL and generates the appropriate methods
  • It continues to support "hands off" the best practice optimistic concurrency "first write wins" (as CslaGen did)
  • It allows for fine tunning of object properties so you don't have to do extensive editing on the generated code
  • It has enough configuration options to make your projects easy to generate, re-generate and maintain
  • It uses project defaults that you can edit to fit your usual needs and save for later re-use
  • It has improved templates generating "nice" code that uses only spaces (tabs off) and has correct indentation and line spacing
  • It has templates that try to be smart and report validation errors

Last but not least
  • It has an awesome object relations builder that handles the mess of filling/validating the properties of relation objects for 1 to N and N to N relations

Last edited Jul 13, 2015 at 10:54 PM by tiago, version 22


No comments yet.