Generate your application with CodeFluent Entities and Syncfusion – Part 1
Building an application from scratch, including business logic layer, data access layer and an amazing user interface design is a difficult ordeal. In most of cases it also means a long development process.
CodeFluent Entities allows you to generate components such as scripts, code, web services and UIs. The code generation process is ‘model-first’ and continuous: from your declarative model, a meta-model will be inferred which code generators will then translate into code. Over 20 code generators (a.k.a. ‘producers’) are provided ‘out of the box’ and that can be combined to obtain your own application following your desired architecture, using your desired technologies.
An application generated by CodeFluent Entities uses standard components of .NET Framework. Today, we want to let you know that you use the power of Syncfusion to build your application. This set of components makes it easy to build attractive applications with incredible design.
We’ll show you how to create the application from scratch. It includes multiple user interfaces such as an ASP.NET Back Office to manage your data and a great WPF client application using Syncfusion WPF components.
CodeFluent Entities and Visual Studio makes it extremely easy to create a project with a sample model. In the Add New Project dialog box select the ContactManager Sample Model template:
You also need two additional projects:
- A Class Library named ContactManager which represents the Business Object Model (BOM in the CodeFluent Entities language). Just add a Persistence empty directory.
- An ASP.NET Empty Web Application named ContactManager.WebApplication which represents the ASP.NET Back Office :
Once projects created, let’s take a look at the ContactManager model supplied by CodeFluent Entities :
Now that you’ve created the model, you need a way to generate database scripts, Back Office web application and the business objects using CodeFluent Entities producers.
What is a producer?
A producer uses information available from the model to generate code. CodeFluent Entities provides more than 20 producers that allow to generate the database (SQL Server, Azure, Oracle, PostgreSQL and MySQL), the Business Object Model (C# or VB.NET), web services as well as user interfaces such as a web site.
Configuring the producers
We need to use the Business Object Model (BOM) producer to generate the object-oriented layer:
- From the project ContactManager.Model, select Add New Producer.
- Select the Business Object Model (BOM) producer
- Configure the Target Project : ContactManager
Then you need to configure the « SQL Server » producer in order to generate database scripts (tables, views, stored procedures, etc.). From the project ContactManager.Model, select Add New Producer:
- Select the SQL Server producer from Persistence Layer Producers
- Target the Persistence directory from your ContactManager project
- Configure the Target version attribute and select the version according to your SQL Server database.
- Define the Connection String attribute
Finally we will add an « ASP.NET Web Site » producer to generate the user interface of the website. From the ContactManager.Model project, click « Add New Producer » :
- Select the ASP.NET Web Site V2 from Web Producers.
- Select the technology of your site by changing a Template Category
- Target the directory of our ASP.NET project: ContactManager.WebApplication
The application is now ready to be generated. In a single click (or press F5) just build the solution to generate your application.
Before compiling the solution, don’t forget to add a reference to the « ContactManager » project to your « ContactManager.WebApplication » project references.
Below you will find some screenshots of the generated application. No handwriting code and a full ready-to-use Back Office web application 🙂 .
The generated homepage by default lists all namespaces and their contained entities:
Clicking on an entity gets you to the entity page.
On the left side of the page you’ll find a list of actions available on this entity. Those actions correspond to business methods provided by the entity.
The generated website also supports CRUD operations to create, edit and delete your data.
You’ve now created a simple Back Office ASP.NET application that uses all the generated layers. In the second part, let’s develop a WPF application with Syncfusion components that uses WCF web services.
The source code is available on our GitHub repository.
The R&D team.