Log In
[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Report Server
[Collapse]eXpressApp Framework
 [Expand]Getting Started
  [Expand]Application Solution Components
   Client-Side Mobile Application
  [Collapse]Business Model Design
    Business Model Design Basics
    Built-in Business Classes for Most Popular Scenarios
   [Expand]Business Model Design with Entity Framework
   [Collapse]Business Model Design with XPO
     Business Classes vs Database Tables
     Ways to Add a Business Class
     Base Persistent Classes
     Relationships Between Persistent Objects in Code and UI
     Optimistic Concurrency Control
    [Expand]Domain Components
    Non-Persistent Objects
    PropertyChanged Event in Business Classes
   [Expand]Data Types Supported by built-in Editors
    Mapping Complex Types to the Database
   [Expand]Types Info Subsystem
    Connect an XAF Application to a Database Provider
    Data Annotations in Data Model
    Create and Update the Application's Database
  [Expand]Application Model
  [Expand]UI Construction
  [Expand]Extend Functionality
  [Expand]Data Manipulation and Business Logic
  [Expand]Security System
  [Expand]System Module
  [Expand]Extra Modules
  [Expand]Debugging, Testing and Error Handling
  [Expand]Application Life Cycle
 [Expand]Design-Time Features
 [Expand]Task-Based Help
  Frequently Asked Questions (FAQ)
 [Expand]API Reference
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation

Business Model Design with XPO

In eXpressPersistent Objects (XPO), a business model is declared by classes (Persistent Objects) that will define the database structure, and consequently, the user interface. Classes represent database tables and class properties refer to database table columns. You can declare persistent objects directly in code (Code First) or by using the XPO Data Model Designer (Model First), or generate code from an existing database (Database First). The topics in this section provide information on how to properly declare your data classes.


It is recommended that you first review the XPO tutorials to learn about the fundamental XPO concepts before creating an XPO-based XAF application.

Expanded Concepts

Expanded XPO Documentation on Relations

Expanded XPO Documentation on Filter Criteria

Expanded Task-Based Help

Expanded Community Content

Expanded See Also

Is this topic helpful?​​​​​​​