[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 and Dashboard Server
[Collapse]eXpressApp Framework
 [Expand]Getting Started
 [Collapse]Design-Time Features
   Solution Wizard
   Template Gallery
   Application Designer
   Module Designer
   Model Editor
   Model Merge Tool
   Update Model Command
   Localization Tool
   Designers Troubleshooting Guide
 [Expand]Task-Based Help
  Frequently Asked Questions (FAQ)
 [Expand]API Reference
[Expand]eXpress Persistent Objects
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

Model Merge Tool

With the Model Editor, you can examine and edit the Application Model in a module, application or user differences layer. But, in some scenarios, it can be required to move the Application Model customizations (differences) from one layer to another. For instance, you can customize a certain view layout at runtime, and then want to merge these customizations into a module. This topic provides general information on the Model Merge Tool that allows you to merge differences into an underlying Application Model layer. To see a step-by-step example of using this tool, refer to the How to: Merge End-User Customizations into the XAF Solution topic.

The Model Merge Tool can be invoked from the context menu of a project in a XAF solution. If a project is a module project, the Merge Model command is available. If a project is an application project, then the Merge User Model... option is available in addition to Merge Model.

When you select Merge Model, the Model Merge Tool is invoked for the application model layer of the current project. When you select Merge User Model, the Open dialog is shown, so you can select an arbitrary XAFML file. Typically, you select a Model.User.xafml file located in the current project output folder.


It is recommended that you close all open Model Editor tabs in Visual Studio before running the Model Merge Tool.

The Model Merge Tool is the dialog window.

It contains a nodes tree similar to the one provided by the Model Editor. Each node is accompanied with a checkbox intended to simplify multi-selection. To merge differences, select one or more nodes (nodes with differences are marked bold). Then, select a target in the dropdown below and click Merge. If the chosen differences cannot be applied to the selected target, then the following warning is displayed.

You can select another target in this instance and retry. The merging operation can be performed as many times as required. The Save button persists changes.

Application administrators can use the Model Merge feature as well. Of course they have no access to the application source. But they can merge differences into a common model layer that is typically stored in the Model.xafml file in the application folder. This can be done via the Merge Differences command available in Model Editor at runtime.

So, an administrator can customize a View and then provide it to all users without disturbing the application developer. In this instance, the Model.xafml file must be shared among all end-users. If terminal server deployment is used, this file is shared initially. Otherwise, an administrator needs to re-deploy the Model.xafml file for all users.

Expanded See Also

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