ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Core.Data Namespace / ReconcileOptions Class / ConflictDetectionType Property
Example

In This Topic
    ConflictDetectionType Property
    In This Topic
    Gets or sets the conflict detection type.
    Syntax
    public ConflictDetectionType ConflictDetectionType {get; set;}
    Public Property ConflictDetectionType As ConflictDetectionType
    Remarks
    The default value is ConflictDetectionType.ByRow. If ConflictDetectionType.ByColumn is used with branch versioning, and the version of ArcGIS Enterprise doesn't support it (versions prior to 10.8.1), ConflictDetectionType.ByRow will be used instead.
    Example
    Reconciling and Posting a Version with its Parent in separate edit sessions
    public void ReconcileAndPost(Geodatabase geodatabase)
    {
        // Get a reference to our version and our parent
        if (geodatabase.IsVersioningSupported())
        {
            using (VersionManager versionManager = geodatabase.GetVersionManager())
            using (Version currentVersion = versionManager.GetCurrentVersion())
            using (Version parentVersion = currentVersion.GetParent())
            {
    
                //// Create a ReconcileDescription object
                //At 2.x - 
                //ReconcileDescription reconcileDescription = new ReconcileDescription(parentVersion);
                //reconcileDescription.ConflictResolutionMethod = ConflictResolutionMethod.Continue; // continue if conflicts are found
                //reconcileDescription.WithPost = true;
    
                //// Reconcile and post
                //ReconcileResult reconcileResult = currentVersion.Reconcile(reconcileDescription);
    
                // ReconcileResult.HasConflicts can be checked as-needed
    
                // Create a ReconcileOptions object
                ReconcileOptions reconcileOptions = new ReconcileOptions(parentVersion);
                reconcileOptions.ConflictResolutionMethod = ConflictResolutionMethod.Continue; // continue if conflicts are found
                reconcileOptions.ConflictDetectionType = ConflictDetectionType.ByRow; //Default
                reconcileOptions.ConflictResolutionType = ConflictResolutionType.FavorTargetVersion;//or FavorEditVersion
    
                // Reconcile
                ReconcileResult reconcileResult = currentVersion.Reconcile(reconcileOptions);
                if (!reconcileResult.HasConflicts)
                {
                    //No conflicts, perform the post
                    PostOptions postOptions = new PostOptions(parentVersion);
                    //var postOptions = new PostOptions(); for default version
                    postOptions.ServiceSynchronizationType = ServiceSynchronizationType.Synchronous;//Default
                    currentVersion.Post(postOptions);
                }
    
            }
        }
    }
    Reconciling and Posting a Version with its Parent in the same edit session
    public void ReconcileAndPost2(Geodatabase geodatabase)
    {
        // Get a reference to our version and our parent
        if (geodatabase.IsVersioningSupported())
        {
            using (VersionManager versionManager = geodatabase.GetVersionManager())
            using (Version currentVersion = versionManager.GetCurrentVersion())
            using (Version parentVersion = currentVersion.GetParent())
            {
    
                //// Create a ReconcileDescription object
                //At 2.x - 
                //ReconcileDescription reconcileDescription = new ReconcileDescription(parentVersion);
                //reconcileDescription.ConflictResolutionMethod = ConflictResolutionMethod.Continue; // continue if conflicts are found
                //reconcileDescription.WithPost = true;
    
                //// Reconcile and post
                //ReconcileResult reconcileResult = currentVersion.Reconcile(reconcileDescription);
    
                // ReconcileResult.HasConflicts can be checked as-needed
    
                // Create a ReconcileOptions object
                ReconcileOptions reconcileOptions = new ReconcileOptions(parentVersion);
                reconcileOptions.ConflictResolutionMethod = ConflictResolutionMethod.Continue; // continue if conflicts are found
                reconcileOptions.ConflictDetectionType = ConflictDetectionType.ByRow; //Default
                reconcileOptions.ConflictResolutionType = ConflictResolutionType.FavorTargetVersion;//or FavorEditVersion
    
                PostOptions postOptions = new PostOptions(parentVersion);
                //var postOptions = new PostOptions(); for default version
                postOptions.ServiceSynchronizationType = ServiceSynchronizationType.Synchronous;//Default
    
                // Reconcile
                ReconcileResult reconcileResult = currentVersion.Reconcile(reconcileOptions, postOptions);
                if (reconcileResult.HasConflicts)
                {
                    //TODO resolve conflicts
    
                }
    
            }
        }
    }
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also