Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CRM 2011 OrganizationServiceProxy vs OrganizationServiceContext

I am reading through the MS CRM 2011 SDK docs and see two ways for accessing entities: OrganizationServiceContext or OrganizationServiceProxy.

Why would I choose one method over another? The SDK isn't really clear on design considerations on this point.

like image 309
John Livermore Avatar asked May 05 '11 20:05

John Livermore


2 Answers

IOrganizationService is your connection to the CRM system.

In Microsoft Dynamics CRM 2011, the primary Web service accessing data and metadata for your organization is the IOrganizationService Web service.

The class OrganizationServiceContext is used as the base class for the data context which is created when you are using early bound entity classes. See how to Use the Organization Service Context Class. It uses an IOrganizationService as the underlying connection.

like image 77
ccellar Avatar answered Oct 03 '22 13:10

ccellar


OrganizationServiceContext contains the LINQ provider for CRM. Using it you can construct LINQ queries instead of using QueryExpression or FetchExpressions which are required if you use IOrganizationService direclty.

crmsvcutil.exe can generate a CRM organization specific class that inherits from OrganizationServiceContext in that case you get properties like ContactSet, AccountSet on the generated class that make it easier to compose queries.

You must have an IOrganizationService isntance to use OrganizationServiceContext.

See http://msdn.microsoft.com/en-us/library/gg328028.aspx for more details.

like image 24
David Yack Avatar answered Oct 03 '22 14:10

David Yack