CRM 2011 OrganizationServiceProxy vs OrganizationServiceContext
Я читаю документы MS CRM 2011 SDK и вижу два способа доступа к объектам:
OrganizationServiceContext
или OrganizationServiceProxy
.
Почему я должен выбрать один метод над другим? SDK на данном этапе не совсем понятна.
Ответы
Ответ 1
IOrganizationService - это ваше соединение с системой CRM.
В Microsoft Dynamics CRM 2011 основным веб-сервисом, получающим доступ к данным и метаданным для вашей организации, является веб-сервис IOrganizationService.
Класс OrganizationServiceContext используется как базовый класс для контекста данных, который создается, когда вы используете классы ранней связанной сущности. Посмотрите, как Использовать класс контекста службы организации. Он использует IOrganizationService в качестве основного соединения.
Ответ 2
OrganizationServiceContext содержит поставщика LINQ для CRM. Используя его, вы можете создавать запросы LINQ вместо использования QueryExpression или FetchExpressions, которые необходимы, если вы используете IOrganizationService direclty.
crmsvcutil.exe может генерировать специфический для организации CRM класс, который наследует от OrganizationServiceContext, в этом случае вы получаете такие свойства, как ContactSet, AccountSet в сгенерированном классе, которые упрощают составление запросов.
Вы должны иметь IOrganizationService isntance для использования OrganizationServiceContext.
Подробнее см. http://msdn.microsoft.com/en-us/library/gg328028.aspx.