Skip to main content

In-Depth XAF WinForms & Web Forms Tutorial (Main Demo)

  • 4 minutes to read

Follow this tutorial to create a simple application used to store contacts and other related objects as you learn about the fundamentals of the eXpressApp Framework.

Dependencies and Prerequisites

Before you start the tutorial, read this section and ensure that the following conditions are met:

  1. Any non-Express supported version of Visual Studio is installed on your machine. You have basic experience of .NET framework development in this IDE.
  2. A free 30-day trial version or a licensed version of DevExpress Universal Subscription is installed on your machine.
  3. You have basic knowledge of Object-relational mapping (ORM) concepts and DevExpress XPO.
  4. Any RDBMS supported by the XPO (see Database Systems Supported by XPO) ORM tool is installed and accessible from your machine to store the application data (a LocalDB or SQL Server Express instance is recommended).
  5. You are familiar with XAF application architecture.

Tutorial Structure

The tutorial consists of the following sections.

  • Business Model Design

    This section describes the use of the eXpress Persistent Objects (XPO) object-relational mapping (ORM) tool. You will implement classes that will form the business model (which defines the database tables) of your application. As a result of completing this section, you will end up with two automatically generated interfaces based on the same business model - a WinForms application and a website. In addition, these applications will contain a set of features that form the base application functionality.


  • Extend Functionality

    In this section, you will add custom features to the application built in the previous section.


  • UI Customization

    This section will teach you how to easily customize the automatically generated UI of an application.


  • Extra Modules

    In this section, you will add extra features supplied with XAF (file attachment, data analysis, report generation, etc.).


  • Security System

    Use this section to learn how to make the application secure by adding the XAF Security System to it.


Each section consists of a number of lessons. Each lesson provides the steps required for implementing the functionality mentioned in the lesson title. These steps include the exact instructions , and may also include code snippets (in C# and VB) and images.

The final application created as a result of this tutorial is included in the XAF installation. This application is intended to demonstrate a wide variety of features for implementing tasks in XAF applications.

Connection String

Begin by ensuring that you have a Microsoft SQL Server database management system (DBMS) installed. If you use a different DBMS, you will need to provide the proper connection strings.

Use the Solution Wizard to create a solution. The wizard attempts to detect your installed SQL server and changes the connection string accordingly. Supported servers are Microsoft SQL Server (including the Express and LocalDB editions). To use another database system (PostgreSQL, MySQL, Oracle, SQLite, Firebird, etc.), change the ConnectionString argument in the App.config and Web.config files of the WinForms/ASP.NET Web Forms application projects. Refer to the Connect an XAF Application to a Database Provider topic for details about connecting to different database systems. A database will be created on the server under the name of the solution you created. If you wish to change any of these details, you will need to make the necessary changes to the connection string by using the application configuration file (App.config or Web.config) or using the Application Designer. Refer to the Connect an XAF Application to a Database Provider topic for additional information on connection strings.

If you ever need to recreate your database, just drop it from the database server or remove the file, and it will be recreated automatically the next time the application runs.

See Also