devexpress-xaf-business-logic-xpo

Implement validated XPO ORM business logic patterns for XAF applications.

39|7|Updated Jun 2, 2026
One-click install
npx skills add https://github.com/DevExpress/agent-skills --skill devexpress-xaf-business-logic-xpo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: devexpress-xaf-business-logic-xpo
Source: https://github.com/DevExpress/agent-skills/tree/main/plugins/dx-xaf/skills/devexpress-xaf-business-logic-xpo
Command: npx skills add https://github.com/DevExpress/agent-skills --skill devexpress-xaf-business-logic-xpo

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill solves the common pain points of implementing robust, error-free business logic for XAF applications that use the XPO ORM, eliminating issues like broken change tracking, session mixing exceptions, and incorrect lifecycle overrides that lead to data loss or unexpected behavior.

Core Features & Use Cases

  • XPO-Specific CRUD & Session Management: Correctly implement UnitOfWork, NestedUnitOfWork, and Session access for transactional data operations in XAF.
  • Business Class Lifecycle & Property Patterns: Use proper AfterConstruction/OnSaving overrides and SetPropertyValue patterns to ensure reliable change tracking and data integrity.
  • Use Case: Build a XAF business object that supports nested transactions for popup edit dialogs, uses XPInstantFeedbackSource for large read-only grids, and automatically cascades deletes for associated child objects without manual cleanup code.

Quick Start

Use this Skill to implement a XPO-backed XAF business class with proper property change tracking, nested transaction support for popup dialogs, and server-mode data binding for large datasets.

Frequently Asked Questions about devexpress-xaf-business-logic-xpo

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix broken XPO property change tracking in XAF business objects?

Correct XPO property change tracking requires using proper SetPropertyValue patterns within your business class properties. This approach maintains session integrity and ensures reliable data tracking during XAF CRUD operations.

What is the best way to manage nested transactions for popup dialogs in XAF?

Nested transactions for popup dialogs are managed using NestedUnitOfWork in XPO. This allows rolling back edits without affecting the parent session, ensuring data integrity if the user cancels the dialog.

How do I configure server-mode data sources for large datasets in XAF?

Server-mode data sources for large datasets are configured using XPInstantFeedbackSource or XPQuery. This optimizes data binding for read-only grids by loading only necessary records, preventing memory overload.

Why does my XAF application throw a session mixing exception during saves?

Session mixing exceptions occur when XPO business objects from different sessions interact. Follow correct UnitOfWork and Session access patterns to ensure all objects participate in the same transactional context.

How do I correctly override OnSaving and AfterConstruction in XPO business classes?

Correctly overriding OnSaving and AfterConstruction in XPO business classes requires following XAF lifecycle best practices. This prevents unexpected behavior during object creation and persistence by ensuring base methods are called properly.

Can I automatically cascade deletes for associated child objects in XAF?

Yes, you can automatically cascade deletes for associated child objects by using correct association configuration in XPO. This eliminates manual cleanup code and maintains referential integrity when parent objects are deleted.