So let's take a closer look about what Sculpture produce and the capabilities of these produced components.
1. Business Entities
- · Entity class is not simply as just (get & set) it provides with wide functionalities that can help the developers in their work.
- · All entities implement INotifyPropertyChanged interface, so can be used in data binding.
- · Allow multiple kinds of Collections (List, Collection, and ObservableCollection for WPF).
- · Sculpture provides Validation application block Designer for configure validation attributes of the entity's properties with fantastic validation locator to copy validation attributes from one property to another.
- · With Sculpture entity you have the ability to:
- o Get the Entity State (Added, Changed, And Unchanged).
- o Copy Entity data to another one.
- o Compare two entities data.
- o Get a list of the properties that changed since you get the entity from a data source.
2. Data Access Layer
- · Sculpture generates full Data Access Layer with maximum customization.
- · Sculpture supports custom data methods, so each entity has its standard methods (GetAll, GetById, Save …) and custom methods.
- · With Sculpture Data Access Manager
- o You can suspend any of the standard or custom methods.
- o You can rename a standard method (so customer.GetAll() can be customer.GetMyCustomers())
- o You can set comments for all kinds of methods.o You can copy custom methods from another entity.
- · Sculpture Supports options for both stored procedures and inline query for data access, this option can be in the method level, so you can have GetAll method that works with inline query and Save method that call stored procedure.
- · While using inline queries the save method updates the changed properties only, so it's more efficient than update the whole entity properties.
- · Sculpture Supports saving single entity and collection of entities in one transaction; supports one to many relationships so you can save the customer and his contacts by one line of code.
- · Sculpture Supports transactions so you can get the handle of the transaction.
- · With InvalidEntityException class that generated by Sculpture, you can know which entity failed to save, and formatted information about the error.
3. Business Logic Layer
- · Sculpture provides your applications with sky level view of your business logic components.
- · Sculpture generates the skeleton of the business components and business methods.
- · Sculpture generates the interface of the business component classes.
- · Sculpture gives you the ability to copy the structure of the data access methods (standard and custom) to be business methods, so you can easily wrap the Data Access Layer with Business Components.
4. Stored Procedures script
- · Sculpture provides a full script for CRUD stored procedures.
- · Sculpture gives you the option to change any CRUD stored procedure name.
- · Sculpture uses the stored procedure template of the Repository Factory, so it is mature enough.
5. Database Schema script
- · Sculpture Provides a full script of the Database Schema, so all what you need is just to run it in an empty database.