Introduction

Welcome

Welcome to the Knowledge Center. Here you will find documentation and code samples that will help you maximize the usage of the The Sharp Factory Framework.

What is The Sharp Factory?

The Sharp Factory is comprised 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.

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 tables to C# classes and handles the interactions with the data store; which is what an ORM does.

But the framework generated by the The Sharp Factory App is more than a simple ORM. It contains a more complex Repository Based Architecture and 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 a various points in the various layers. 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 differents layers are confiurable. As well as the actual tiers ( Class Library Projects ) that the code is broken into. Giving full control on how you want the final assemblies and structure of your Visul 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 sincronize the backend of multiple Source Control branches for example.

Multiple Models

It supports having multiple models in a single Model Container. Wether 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:

  1. Generating new 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.

  2. 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 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.