Work with data using code in Microsoft Dataverse

Dataverse has tables that are used to model and manage business data. You can use the stock provided tables or define your own custom tables to store data.

Dataverse also has APIs known as messages. Messages define a set of input parameters and output properties to encapsulate logic that executes on the server. Each message has a name. If you come from a SQL database background, you can think of these like SQL stored procedures. You can use messages that Dataverse provides or you can create your own messages.

Use web services to work with data

Dataverse provides two ways to work with data: Web API & SDK for .NET. Choose the one that best matches the requirement and your skills.

Web API

The Web API is an OData v4 RESTful endpoint. Use the Web API for any programming language that supports HTTP requests and authentication using OAuth 2.0.

More information: Use the Dataverse Web API

SDK for .NET

Use classes provided in the Dataverse SDK for .NET assemblies for custom apps, or for extending Dataverse operations using custom plug-ins and workflow activities. The Dataverse SDK for .NET supports build targets for both .NET Framework and .NET 6+. However, plug-in and custom workflow activities must be coded using .NET Framework.

More information: Use the Dataverse SDK for .NET

Note

Use the Xrm.Tooling assemblies if you want to use the SDK for .NET using our PowerShell module or are creating a Windows client application and you want to use our custom login control. More information: Build Windows client applications using the XRM tools

Limitations

There's a 1-GB size limitation on the size of a response that Dataverse returns. Few APIs or queries are capable of returning this much data. If you encounter this limit, you should consider what other options are available to get the data in multiple, smaller requests.

The deprecated SOAP endpoint returns serialized XML data that is much more verbose than the serialized JSON data returned by the Web API. If you're using the deprecated SOAP endpoint, you should use the Web API equivalent operation. More information: About the legacy SOAP endpoint

Dataverse search delivers fast and comprehensive search results across multiple tables, in a single list, sorted by relevance. It also provides capabilities to support suggestions and autocompletion experiences in apps.

Search has a native endpoint and there are Dataverse messages that you can use from the Web API or Organization service.

More information: Search for Dataverse records