IOrganizationService Interface

The IOrganizationService interface exposes methods used to perform web service operations on system and custom tables and on the table definitions (metadata) for your environment.

Client applications

This interface is implemented by a couple of classes that you can use in your code when creating client applications.

Class Description
CrmServiceClient This is the class you should use when creating .NET Framework client applications.
ServiceClient This is the class you should use when creating .NET Framework or .NET Core client applications.


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 service client 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.


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