IOrganizationService Interface
Note
Unsure about entity vs. table? See Developers: Understand terminology in Microsoft Dataverse.
The IOrganizationService interface provides a set of methods used to perform the most common operations on system and custom tables and on the table definitions for your organization.
Client applications
This interface is implemented in a number of classes that you can use in your code when creating client applications.
| Class | Description |
|---|---|
| OrganizationServiceProxy | This is the original low-level class which is used by WCF and the SOAP endpoint |
| OrganizationWebProxyClient | This low-level class was created to enable OAuth authentication to the SOAP endpoint |
| CrmServiceClient | This is the class you should use when creating .NET client applications. |
Note
You may find older code or samples using the low-level OrganizationServiceProxy or OrganizationWebProxyClient classes, but we recommend you use CrmServiceClient for new .NET Client applications
Plug-ins
When you write plug-ins, there is also an object returned from the IOrganizationServiceFactory.CreateOrganizationService(Nullable<Guid>) which implements the IOrganizationService interface but is not any of the types in the classes above.
IOrganizationService Methods
Each of the classes which implement the IOrganizationService interface may include additional properties and methods, but the IOrganizationService interface has just 8 methods.
| Method | Description |
|---|---|
| Associate | Link two table rows using a table relationship |
| Create | Create a table row. |
| Delete | Delete a table row |
| Disassociate | Remove the link between two table rows using a table relationship |
| Execute | Invoke an operation defined as a message by passing an instance of an OrganizationRequest or a class derived from it. |
| Retrieve | Retrieve an instance of a table row. |
| RetrieveMultiple | Retrieve a collection of table rows that match the criteria set in a query. |
| Update | Change the column values of a table row. |
Note
The Organization service exposes only the Execute method. The other methods in the IOrganizationService interface are simply wrappers around the Execute method. These other methods are provided for convenience. You can perform all operations using only the Execute method. More information: Use messages with the Organization service
See also
Use messages with the Organization service
Write a plug-in
Entity class operations using the Organization service