You are viewing help content for pre-release software. This document and the features it describes are subject to change. Switch to the current version.

Storage, ORM, and Business Model Design

  • 2 minutes to read

XAF allows you to build a Business Model with the following ORM tools:

ORM

Modeling Approaches

eXpress Persistent Objects (XPO) by DevExpress (Documentation)

  • Code First
  • Model First
  • Database First

Entity Framework Core by Microsoft (Documentation)

  • Code First
  • Database First

Entity Framework 6 (EF 6) by Microsoft (Documentation)

  • Code First
  • Model First
  • Database First

Tip

To manipulate and display data that is not necessarily coming from ORM, you can use non-persistent objects.

Important

Microsoft has moved EF 6 into maintenance mode, and as such, EF 6 will not mirror XAF’s .NET 5+ offering. At present, EF Core supports key XAF technologies/capabilities including advanced security and comprehensive audit trail support. EF Core also offers better performance when compared to EF 6. For more information, see Porting from EF 6 to EF Core.

Business Classes

Business Class is a model of a real-world object your application operate with (for example, Contact, Address, Task, etc.). Each class that takes part in an XAF UI construction process is a business class. It can be a class mapped to a database table - Entity Framework Entity or XPO Persistent Object.

XAF collects your business classes and generates UI elements for them.

If you do not need to persist an object state to the database, you can declare a regular class and apply the DomainComponentAttribute attribute to it - such a class will also take part in UI construction (see Non-Persistent Objects).

Note

You can find the information on Data Types for which XAF can automatically generate a UI in the following documentation section: Data Types Supported by built-in Editors.

If the type you need to use can be displayed in the UI, but the ORM tool you use cannot store this type in the database, refer to the Mapping Complex Types to the Database article.

See Also