-
Notifications
You must be signed in to change notification settings - Fork 16
Why use CslaGenFork
Tiago Freitas Leal edited this page Sep 17, 2017
·
5 revisions
- 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 or without a separated DAL
- It supports SQL Server as the main database provider, but code generation can target other database engines (configurable).
- 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 WPF)
- It tryes very hard to make your life easier on the usability side
- hide, disable or filter whenever possible (if it's useless, don't show/allow it)
- property grids sorted in a logical way (less browsing)
- explains features and options using tooltips or footer helpers (property grids)
- 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)
- hierarchical property grids that are always unfolded/expanded (even less mouse clicks)
- full set of gestures for object and collection creation from table schema (Cheat Sheet)
- It generates best practice optimistic concurrency "first write wins"
- It generates SimpleAuditing (created by, changed by, etc)
- It generates SoftDelete (mark inactive and never see it again as if it was deleted from the database)
- It allows caching of NameValueList and ReadOnly objects
- It implememts cache on 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 generates code with extensibility points
- 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 generates full documentation of classes and public methods (and smart documentation too!)
- It generates "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