Skip to the content

The Data8 Duplicare™ C# SDK

Data8 Duplicare™ is a powerful tool that sits with the Common Data Service and vastly improves the duplicate detection and merging functionalities within that platform. Due to the design of the Data8 Duplicare™ tool, it can actually be used directly in code too and this helper is designed to make that process as easy as possible.


Data8 Duplicare ™must be installed, licensed and configured with your Common Data Service environment.

Getting access to the package

​To​ use the package, you can just use the nuget package explorer and download our package from

Usage - Set Up

To set up the duplicare client, you simply need to create a new instance of the DuplicareClient, passing through the IOrganizationService.

var duplicareClient = new DuplicareClient(org);

Usage - Duplicate Detection

To find duplicates using duplicare, you need to pass an entity through and it will perform the duplicate checks of that entity. The entity can be a "dirty" entity i.e. not saved - enabling you to look for duplicates before creation if required.

var results = duplicareClient.FindPotentialDuplicates(newContact);

Usage - Multi Record merging

To apply the Data8 Duplicare Merge+ rules across a number of records, you need to pass through the entity references of those records you wish to combine as well as an option to pass in a "ghost" record i.e. one that hasn't already been committed.

var mergeResults = duplicareClient.ApplyMergeRules(new[] { a1, a2, a3 }, null);

The idea of the ghost record is that it could be used to enrich existing records, without actually making that record in the system. For example, you may have "telephone2" populated in the ghost record but not in the existing record and by applying the ghost record to the existing record(s), you would add that new data in.

var enrichResults = duplicareClient.ApplyMergeRules(new[] { enrichA1 }, ghostRecord);