Использование Microsoft.Xrm.Tooling для создания сервиса и контекста
Сейчас я обновляю программу интеграции, написанную для Dynamics 2015, для поддержки Dynamics 365. В настоящее время она использует методы dll Microsoft.Xrm.Client для создания контекста службы организации. Есть ли эквивалент Microsoft.Xrm.Tooling, так как Microsoft.Xrm.Client кажется неподдерживаемым.
var getCRMOrgService = CreateCRMOrgService(logger);
var client = CreatePosPerfectConnection(logger);
if (getCRMOrgService != null)
{
using (var ctx = new DataContext(new CrmOrganizationServiceContext(getCRMOrgService)))
{
ctx.TryAccessCache(cache => cache.Mode = OrganizationServiceCacheMode.Disabled);
/******Rest of the code******/
Здесь я должен изменить методы CreateCRMOrgService и CrmOrganizationServiceContext на методы, поддерживаемые только Microsoft.Xrm.Tooling
1 ответ
Похоже, вы захотите переключиться на CrmServiceClient
, который находится в Microsoft.Xrm.Tooling.Connector
Пространство имен.
Чтобы получить пакет NuGet: В своем проекте щелкните правой кнопкой мыши узел References и выберите Управление пакетами NuGet. В разделе "Поиск" введите "xrm tooling". Установите Microsoft.CrmSdk.XrmTooling.CoreAssembly, и все будет хорошо.
Затем создайте CrmServiceClient через строку подключения
var svc = new CrmServiceClient(connectionString);
Затем для контекста (провайдера запросов) сделайте что-то вроде этого (обратите внимание, это непроверенный код):
private List<Entity> getRecords()
{
using (var context = new Microsoft.Xrm.Sdk.Client.OrganizationServiceContext(svc))
{
var result = from e in organizationServiceContext.CreateQuery("new_entity")
where e.GetAttributeValue<string>("new_field") == "my value"
select e;
return result.Take(100).ToList();
}
}