Introduction
Table Of Contents
Welcome
Welcome to the Knowledge Center. Here you will find documentation and code samples that will help you maximize the usage of The Sharp Factory Framework.
What is The Sharp Factory?
The Sharp Factory is composed of two major parts. First the code generation application called The Sharp Factory App. Second The Sharp Factory Framework; which is the code generated by the application. You can download the application here: Download Here
Is The Sharp Factory an ORM?
Yes and No. The Sharp Factory is more than just an ORM (What is an ORM?). On the one hand it maps database tables to C# classes and handles the interactions with the data store; which is what an ORM does.
But the framework generated by The Sharp Factory App is more than a simple ORM. It contains a more complex Repository Based Architecture and, a collection of Utilities to handle various scenarios in your code.
For example, it contains untilities to compare two entities for changes, or to merge two entities. It can also interact with other SQL Operations different than just CRUD (What is CRUD?). For example, it can execute: Stored Procedures, Functions and, Sequences.
Easy to Code
The architecture and naming conventions used by The Sharp Factory Framework make it easy for a developer to find the correct Entity or Repository. Also the generated code is decorated with XML Comments that make sense and provide rich Intellisense to the developer making it a breeze to understand the usage patterns.
No Hand Coded Entities Required
All entities, repositories, models etc... Are automatically generated. Unlike other Object Relational Mappers in the market which might require you to write these classes yourself. So it allows you to focus on what really matters: Your code!
Extensible
The architecture of The Sharp Factory Framework allows you to "plug in" your own code at various points throughout the layers of the generated classes. Giving you a chance to extend existing entities, create custom repositories and much more. All without sacrificing the architecture and patterns.
Configurable And Flexible
Many aspects of the different layers are configurable. As well as the actual layers and tiers ( Class Library Projects ) that the code is broken into. Giving full control on how you want the final assemblies and structure of your Visual Studio solution to look like.
You can also get more creative and target multiple Visual Studio Solutions from a single model using The Sharp Factory App; thus effectively generating code for multiple Visual Studio solutions. This allows to easily synchronize the code across multiple Source Control branches.
Multiple Models
It supports having multiple models in a single Model Container. Whether you want to break down your database into multiple models or you want to work with multiple databases transparently in your code as a single model The Sharp Factory Framework can handle it.
Each database or model becomes a segment in the namespace convention and each SQL Schema also becomes a segment in the namespace strategy. This allows for more readable code and even have multiple databases with tables named the same. All without any conflicts in your code.
Performance
The Sharp Factory Framework was designed with performance in mind.
Performance in two areas:
-
Generating new models and loading existing models:
The Sharp Factory Framework can map databases with hundreds or even thousands of tables faster than most products currently in the market.
-
Runtime performance:
The interaction with the database at runtime was also designed for high performance. Try our product and see it for yourself. With our 30 day money back guarantee you have nothing to lose and everything to gain.
Feature Rich
The Sharp Factory Framework is rich in features where it matters: in the code! You can also interact with Stored Procedures, Functions and Sequences using pure C# code. Yes the way an ORM is supposed to be.
When you write code using The Sharp Factory Framework you can do things like Updates or Deletes based on complex queries without writing a single line of SQL code.
Or interact with tables using multi-column primary keys or unique keys all strongly typed and with Intellisense.