xaf

DevExpress XAF (eXpressApp Framework) master index. Use this skill first when working with any XAF topic to find the right sub-skill. Covers Blazor and WinForms, EF Core and XPO, versions v24.2 and v25.1. Sub-skills: xaf-xpo-models, xaf-ef-models, xaf-controllers, xaf-editors, xaf-custom-editors, xaf-nonpersistent, xaf-security, xaf-multi-tenant, xaf-web-api, xaf-validation, xaf-reports, xaf-dashboards, xaf-office, xaf-blazor-ui, xaf-winforms-ui, xaf-conditional-appearance, xaf-deployment, xaf-memory-leaks.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "xaf" with this command: npx skills add kashiash/xaf-skills/kashiash-xaf-skills-xaf

XAF (eXpressApp Framework) — Skill Index

DevExpress XAF is a cross-platform .NET application framework for building business applications (Blazor Server and WinForms). It provides MVVM architecture, ORM integration (EF Core and XPO), security, validation, and rich module ecosystem.

Versions covered: v24.2 and v25.1 Platforms: Blazor Server, WinForms, Web API (OData) Official docs: https://docs.devexpress.com/eXpressAppFramework/112670/expressapp-framework DevExpress MCP: https://api.devexpress.com/mcp/docs


Sub-Skills — When to Use Each

Data Modeling

SkillLoad When
xaf-xpo-modelsDefining XPO persistent objects (XPObject, BaseObject, associations, PersistentAlias)
xaf-ef-modelsDefining EF Core entities (BaseObject EF, virtual properties, DbContext, migrations)
xaf-nonpersistentCreating NonPersistent objects for custom data sources, API wrappers, input dialogs

UI Construction

SkillLoad When
xaf-controllersCreating controllers, SimpleAction/PopupWindowShowAction/SingleChoiceAction/ParametrizedAction
xaf-editorsWorking with built-in property editors, list editors, GridListEditor customization
xaf-custom-editorsBuilding custom property editors (Blazor/WinForms) or custom list editors
xaf-conditional-appearanceConditionally hiding/disabling/coloring UI elements via [Appearance] attribute

Platform-Specific

SkillLoad When
xaf-blazor-uiBlazor-specific UI, thread safety (InvokeAsync), Razor components in XAF, JS interop
xaf-winforms-uiWinForms-specific UI, XtraGrid access, background workers, layout, splash

Security & Multi-Tenancy

SkillLoad When
xaf-securityRoles, permissions, authentication (Standard/AD/OAuth2), programmatic permission checks
xaf-multi-tenantMulti-tenant SaaS apps with separate DB per tenant (v24.2+)

Services & API

SkillLoad When
xaf-web-apiBuilding/consuming XAF OData Web API (JWT, custom endpoints, $filter/$expand)
xaf-validationValidation rules (RuleRequiredField, RuleCriteria, custom rules, programmatic validation)

Modules & Features

SkillLoad When
xaf-reportsXtraReports integration (setup, predefined reports, export, designer, parameters)
xaf-dashboardsDashboard analytics (setup, data sources, designer, permissions)
xaf-officeFile attachments, Spreadsheet editor, RichText editor, PDF viewer

Deployment

SkillLoad When
xaf-deploymentIIS/Azure/Docker for Blazor, ClickOnce/MSI for WinForms, migrations, license, logging

Diagnostics & Quality

SkillLoad When
xaf-memory-leaksDiagnosing memory leaks, auditing event handler cleanup, reviewing ObjectSpace/CollectionSource lifetime

Quick Architecture Reference

MySolution/
├── MySolution.Module/          ← platform-agnostic (business objects, controllers, modules)
│   ├── BusinessObjects/
│   ├── Controllers/
│   └── MySolutionModule.cs
├── MySolution.Blazor.Server/   ← Blazor-specific (Program.cs, BlazorApplication.cs)
│   └── DatabaseUpdate/Updater.cs
├── MySolution.Win/             ← WinForms-specific (Program.cs, WinApplication.cs)
└── MySolution.WebApi/          ← Web API service (Program.cs, OData endpoints)

Key Concepts

  • ObjectSpace (IObjectSpace) — unit of work; wraps EF Core DbContext or XPO Session. Not thread-safe. Never store in singleton services.
  • XafApplication — application lifecycle, module registration, ObjectSpace creation.
  • ModuleBase — platform-agnostic module; registers business objects, controllers, navigation items.
  • Application Model — XML/in-memory model describing Views, Actions, Navigation — customizable without recompilation.
  • DatabaseUpdater — runs on startup to apply schema changes and seed data (Updater.cs).

Common Pitfalls (Quick Reference)

PitfallFix
ObjectSpace in singleton serviceUse IObjectSpaceFactory + using var os = factory.CreateObjectSpace(...)
async/await + ConfigureAwait(false) in BlazorRemove ConfigureAwait(false) — Blazor needs sync context
Non-virtual EF Core propertiesAll EF Core entity properties must be virtual
XPO property without SetPropertyValueUse backing field + SetPropertyValue for change tracking
AddDbContext instead of AddDbContextFactoryXAF requires IDbContextFactory<T>
NonPersistent provider registered firstRegister .AddNonPersistent() after persistent providers

Useful Links

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Security

xaf-security

No summary provided by upstream source.

Repository SourceNeeds Review
General

xaf-winforms-ui

No summary provided by upstream source.

Repository SourceNeeds Review
General

xaf-office

No summary provided by upstream source.

Repository SourceNeeds Review
General

xaf-nonpersistent

No summary provided by upstream source.

Repository SourceNeeds Review